- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте. Хотел бы попросить помощи в одной проблеме. Не знал куда засунуть эту тему, поэтому засунул сюда.
У меня есть обычная, самая простая форма с одной кнопкой (допустим).
Текст на этой кнопке изменяет удаленный компьютер (через какой-то неизвестный нам промежуток времени). И в это же время текст на ней может изменять пользователь с локального компьютера (просто кликая по ней).
Почему когда удаленный компьютер изменяет текст на кнопке, в это время локальный пользователь не может по ней кликнуть? Форма просто висит, а когда жмешь на кнопку, ничего не происходит.
Как я понял, поток формы просто занят одной задачей и вторую он выполнить не в состоянии. Может подскажите, как сделать очередь заданий (для формы)?
имеется в виду что-то наподобие teamview?
Очевидно temview блокирует мышу на локалке, когда идут удаленные команды.
А вообще-то вопрос туманен.
Очевидно, действие по кнопке не просто меняет название а делает еще что-то серьезное, из-за чего заметна эта задержка? Так вот засуньте это серьезное в отдельный тред.
Почему когда удаленный компьютер изменяет текст на кнопке, в это время локальный пользователь не может по ней кликнуть? Форма просто висит, а когда жмешь на кнопку, ничего не происходит.
Как я понял, поток формы просто занят одной задачей и вторую он выполнить не в состоянии. Может подскажите, как сделать очередь заданий (для формы)?
поток висит и ждет пока удаленный компьютер что-то ему скажет.
два варианта
а) использовать неблокирующие сокеты
б) создать отдельный поток для слушания удаленного компьютера
логично что если все все обрабатывается одним потоком , запусти отдельно поток для удаленного
Как я понимаю речь идет о Windows.Forms. У формы есть один и только один UI поток и если кто-то меняет что-то поток соответственно блокируется и форма "подвисает", т.е. перестает обрабатывать сообщения. Чтобы этого избежать можно вызывать метод ProcessMessages, который принудительно заставляет формы обрабатывать входящие сообщения. Если мы говорим о синхронизации нескольких потоков, которые могут менять состояние окна, то логично организовать стек вызовов дабы избежать конфликтов.
З.Ы. я создал тему по .net вот тут: /ru/forum/677899
Если что - обращайтесь.