1
4
我建议使用
你真的只有两个选择。一:实现自己的事件解复用器(由于64句柄等待限制,这比看起来要复杂得多);我不能推荐这样做-我不得不做一次(在非托管代码中),而且很可怕。
剩下的第二个选择是:发出取消任务的信号。当然,
要考虑的一个主要问题是比赛条件。请记住,在取消操作和线程池执行操作之间存在竞争条件,因此可以看到操作在取消之后运行。
我有
a blog post on this concept
,我称之为“异步回调上下文”。这个
|
2
3
编辑
话虽如此,斯蒂芬的建议
|
3
1
线程池的存在是为了帮助您管理线程。您完全不必担心清除它,因为它将代表您做出最佳性能决策。 如果您认为需要对线程进行更严格的控制,那么您可以考虑创建自己的线程管理类(类似于ThreadPool),但要匹配和超越ThreadPool内置的功能需要做大量的工作。 a look here 在一些线程池优化和背后的想法。 an article on Code Project 它实现了一个“可取消的线程池”,可能是出于某些类似的原因。如果你打算自己写的话,这是一个开始寻找的好地方。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |