У меня есть служба Windows, которая создает 10 потоков + тот, который создает список задач.
Каждый из этих 11 потоков входит в STA, вызывая CoInitialize (nil).
- Список задач создается одним потоком, другие получают элемент, обрабатывают его и освобождают ....
a) Может ли другой поток использовать объект, созданный другим потоком?
(Это похоже на работу, но ..)
б) Может ли другой поток освободить память, выделенную другим потоком?
(Кажется, это не работает ...)
Должен ли я каким-то образом маршалировать указатель между потоками?
Или я должен, по крайней мере, получить элемент, обработать его, но позволить ему быть "владельцем" потока, который его создал?
- В своих службах Windows я создал функциональность, которую я могу использовать для запуска / остановки служб (приостановка и возобновление потоков).
Однако у меня проблема с потоком, который на самом деле собирает данные и делает это в интервале.
Когда поток загружает элементы для обработки, после этого он переходит в состояние сна на 5 минут.
Как я могу прекратить такую тему безопасно? Как прервать состояние сна?
Заранее спасибо за помощь!