|
|
|
Перенаправление выполнения с одного потока в другой. Не UI потоки14.12.2015, 20:35. Показов 1080. Ответов 7
Метки нет (Все метки)
Всем привет. Знает кто-нибудь, как такое можно осуществить? Признаюсь, не сильно копал в эту сторону, но интересует. Можно посмотреть, конечно, исходники последнего дотнета, как там SynchronizationContext в WPF и Windows Forms реализован, но что-то мне подсказывает, что это немного не то. Я и сам копну в эту сторону, если что дельное найду, то отпишу. А если кто уже знает, как это можно сделать, то хотел бы увидеть/узнать.
Зачем это надо? Напрягает ставить локи где ни попадя, чтобы не было с разных потоков одновременных обращений к общему ресурсу.
0
|
|
| 14.12.2015, 20:35 | |
|
Ответы с готовыми решениями:
7
Мьютексы-потоки: Как задать время выполнения потока Перенаправление с одного домена на другой
|
|
Master of Orion
|
|
| 14.12.2015, 21:37 | |
|
Casper-SC, насколько я могу судить, винформы запускаются в STAThread, поэтому мы перенаправляем многопоток в основной, чтобы оконная процедура нормально отрабатывала. То есть это костыль для работы конкретно UI, в качестве синхронизации это отстойная идея так выполнять: Slim-мьютексы практически не требуют ресурсов ибо срабатывают на уровне приложения и не производят захвата системного объекта. Перенаправлять вызов в специальный поток намного дольше и имхо менее архитектурно правильно.
1
|
|
|
|
|
| 14.12.2015, 22:47 [ТС] | |
|
Psilon, я уже тоже вычитал, что неправильно и т.д. Ну значит не буду заморачиваться этой затеей.
Добавлено через 2 минуты Psilon, только, зачастую, слим классы синхронизации потоков мне не доступны. На работе .NET 3.5 ибо оживили пылившийся древний проект. Но обещают через пару месяцев перевести всё на .NET 4.5. Добавлено через 2 минуты Не по теме: Это так, к слову. Мне в основном-то реально пригождался пока только AutoResetEvent.
0
|
|
|
Master of Orion
|
|
| 15.12.2015, 00:04 | |
|
Casper-SC, слимы это то же самое, но они не захватывают системный объект если не нужно.
Вот отличная статья на тему. Использовать Slim стоит всегда, когда только есть возможность. Это аналогично совету использовать List<T> вместо ArrayList. Для существования последнего нет ни единой причины кроме обратной совместимости. Соответственно пользовать не-slim блокировками стоит только если они недоступны из-за старой версии фреймворка.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 15.12.2015, 00:37 | |||
|
Приоритеты выполнения прикручиваются по желанию. Примерно так и реализован STAThread в шарпе.
0
|
|||
|
Master of Orion
|
||
| 15.12.2015, 01:05 | ||
|
Есть по крайнее мере одно поле, посреди которого пасется по крайней мере одна овца, у которой по крайней мере одна сторона черная ©
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 15.12.2015, 01:17 | ||
|
Это скорее компромисс, а не костыль
0
|
||
|
Master of Orion
|
||
| 15.12.2015, 01:53 | ||
|
kolorotur, не так много с COM работал, .Net-оберткок вроде System.Managment обычно хватает.
0
|
||
| 15.12.2015, 01:53 | |
|
Помогаю со студенческими работами здесь
8
Перенаправление в .htaccess с одного домена на другой Перенаправление с одного сайта на другой на шлюзе Потоки. Как из одного потока вызвать выполнение метода в другом потоке Перенаправление всего что можно с одного адреса на другой
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла:
Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию. . .
|