我有一个 Windows 服务,它创建 10 个线程 + 一个创建任务列表的线程。
这 11 个线程中的每一个都通过调用 CoInitialize(nil) 进入 STA。
- 任务列表由一个线程创建,另一个线程获取项目,处理它并释放....
a) 其他线程可以使用其他线程创建的对象吗?(这似乎可行,但是..) b)另一个线程可以释放另一个线程分配的内存吗?(这似乎不起作用......)
我应该以某种方式编组线程之间的指针吗?或者我是否应该至少获得该项目,对其进行处理,但让它成为创建它的线程的“所有者”?
- 在我的 Windows 服务中,我创建了可用于启动/停止服务(暂停和恢复线程)的功能。
但是,我对实际收集数据并在间隔内执行的线程有疑问。当线程加载要处理的项目后,它进入睡眠状态 5 分钟。我怎样才能安全地终止这样的线程?如何中止睡眠状态?
在此先感谢您的帮助!