2012-08-09 72 views
0

我正在寻找在Win 2000或更高版本上启动线程最轻(按照.exe大小增加)的方法。线程将在主进程地址空间中运行。C++/Win32在Windows 2000 +上启动线程的最佳方式

希望我可以做到这一点包括:#include windows.h单独。

+0

就我个人而言,我只支持XP及以上版本 - Win2k非常非常老。 – Bojangles 2012-08-09 07:52:56

+2

不过,如果您的客户仍在使用它,那么它的年龄有多大。有了这个逻辑,XP也是“非常非常古老”。 Windows 8即将推出,除了Win 7和8之外,其他时间都将不再支持。如果只有... – 2012-08-09 07:53:28

+0

另外,W2K和XP API几乎完全相同,在这样的事情上差别不大。 – Geoffrey 2012-08-09 07:54:51

回答

3
+0

好的,我该如何强制关闭主应用程序的线程(CloseHandle()不会终止线程)? – user1581390 2012-08-09 10:47:45

+0

请参阅'TerminateThread' – Geoffrey 2012-08-09 10:57:09

+0

有数以千计的关于SO终止/停止线程的文章。我的首选方法是不明确这样做,即。使用应用程序生存期线程和/或线程池。基本的问题是,只有OS对于终止线程有好处,即使这样,在进程终止时(即关闭应用程序),这样做总是安全的。 – 2012-08-09 11:06:57

3

是,在Win32 API有CreateThread function,你需要包括的唯一的事情是Windows.h。这为一个过程创建了一个新线程。它绝对适用于Windows 2000,甚至更远。

有关MSDN的示例,请访问:Creating Threads。谷歌搜索还显示this article on Code Project。你可能会发现更多。

+0

是的,在W95上工作得很好 – 2012-08-09 08:46:35

+0

好的,我该如何强制关闭主应用程序的线程(CloseHandle()不会终止线程)? – user1581390 2012-08-09 10:47:14

相关问题