看来我终于要在我的Delphi 2009程序中实现某种线程.如果只有一种方法可以做到这一点,我就会开始跑步.但我看到了几种可能性.
任何人都可以解释这些之间的差异以及为什么我选择一个而不是另一个.
Delphi中的TThread类
......还有其他人吗?
编辑:
我刚读了Gabr在2010年3月(第10期)Blaise Pascal杂志上发表的一篇精彩文章,名为"创造线索的四种方法".你必须订阅获取杂志的内容,所以根据版权,我不能在这里重现任何实质性的内容.
总之,Gabr描述了使用TThreads,直接Windows API调用,Andy的AsyncCalls和他自己的OmniThreadLibrary之间的区别.他的结论是:
"我不是说你必须选择除了经典的德尔福方式(TThread)以外的任何东西,但是你知道你拥有的选择仍然很好"
Mghie的答案非常透彻,暗示OmniThreadLibrary可能更可取.但是我仍然对每个人关于我(或任何人)应该如何为他们的应用选择他们的线程方法的意见感兴趣.
您可以添加到列表中:
.4.直接调用Windows API
.5. 米莎Charrett的 CSI分布式应用程序框架,通过LachlanG在答复建议.
结论:
我可能会选择OmniThreadLibrary.我喜欢加布尔的作品.我多年前使用过他的探查器GPProfile,而我现在正在使用他的GPStringHash,它实际上是OTL的一部分.
一旦Embarcadero将该功能添加到Delphi中,我唯一关心的可能就是升级它以使用64位或Unix/Mac处理.