Win32 多线程的资源

Resource for Win32 Multithreading

本文关键字:资源 多线程 Win32      更新时间:2023-10-16

我正在寻找指向 Win32 上 C/C++ 的一些多线程资源的快速指针。 我对比较使用单线程和多线程进行数值计算的相对性能感兴趣。 问题不一定是现实世界,但它们不应该太微不足道,以至于相对性能无关紧要。 我的第一次尝试是实现单线程的埃拉托色尼筛和阿特金的筛子,假设两者都有相对简单的多线程示例,但我无法找到任何一个。我不想成为多线程专家,但接受这将需要一些努力,我已经预算了大约 30 小时的编程时间。 我有Russinovich和Solomon的Windows Internals副本以及Richter和Nasarre的Windows via C/C++,我很乐意购买其他书籍,但如果存在免费资源,我更喜欢免费资源。

我想避免使用任何外部库,例如 Boost,以便使示例尽可能干净,以避免任何依赖问题。我不想靠近CLR的任何地方

上下文是我为 Excel 编写 dlls/xlls,因为 Excel 12 Microsoft声称这些功能可以是多线程的,我想研究一下它是如何工作的。

我已经离开Stack Exchange一两年了,所以请保持温柔。 我对我发现的大多数东西都进行了一些搜索,这些东西都集中在神学而不是实现上。

MSDN 关于 WinAPI 中的多线程调用的部分可以在这里有所帮助吗?还是您需要更多"教程"之类的东西?

有关单步执行示例,请参阅 CreateThread 调用的文档引用的 MSDN 文章"创建线程"。

在Visual Studio中,您可以激活OpenMP支持,然后非常容易并行化代码的循环或区域。您可以在此处轻松找到教程,例如示例。