我正在寻找一个指向Win32上C / C ++的多线程资源的快速指针。我有兴趣比较使用单线程和多线程的数值计算的相对性能。问题不一定是现实世界,但它们不应该是如此微不足道,以至于相对表现是无关紧要的。我的第一次尝试是实现Eratosthenes的单线程Sieve和Atkin的Sieve,假设两者都有相对简单的多线程示例,但我无法找到任何。 我不想成为多线程专家,但是接受这需要付出一些努力,我预算了大约30个小时的编程时间。我有Richter和Nasar的Russinovich和Solomon以及Windows C / C ++的Windows Internals副本,我很乐意购买额外的书籍,但如果它们存在则更喜欢免费资源。
我想避免任何外部库,例如提升以尽可能保持示例清洁以避免任何依赖性问题。我不想去CLR附近的任何地方
上下文是我为Excel编写dll / xlls,因为Excel 12 Microsoft声称这些函数可以是多线程的,我想研究一下这是如何工作的。
我已经离开Stack Exchange一两年了,所以请保持温和。我已经找到了大部分关于理论而不是实现的重点的东西
答案 0 :(得分:1)
关于WinAPI中多线程调用的MSDN section可以在这方面提供帮助吗?或者您是否需要更多“教程”?
有关步入式示例,请参阅Creating Threads来电文档引用的MSDN文章“CreateThread”。
答案 1 :(得分:1)
在visual studio中,您可以激活OpenMP支持,然后很容易并行化循环或代码区域。您可以轻松找到教程,例如here。