假设我有两个函数:
Fun1();
Fun2();
这些函数是独立的,如果我可以并行运行它们(也就是说,在一个线程上运行 Fun1
而在另一个线程上运行 Fun2
,任务将会得到改进。我是使用 Visual Studio 2012 - 所以打开 MP 2.0。
是否有直接方法(没有任何并行区域线程数测试或for 循环狡猾)来实现这一点? OpenMP 是否提供这种功能?
我尝试着手查看 parallel
和 task
指令,但我彻底找到了大部分文献 incomprehensible找不到任何例子......
最佳答案
C++11:
std::thread thread1(Fun1);
Fun2(); // runs on main thread
thread1.join(); // wait for completion
如果您没有 C++11,您可以将 std::thread
替换为 boost::thread
并执行相同的操作。
关于c++ - 我如何显式线程化任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19224586/