我有一个class A
,它有4种方法。我正在创建两个实例a,b
。我需要在c ++中同时运行a.function 1 to 4
和b.function 1 to 4
吗?
答案 0 :(得分:5)
在我看来,您要的是多线程。对于C ++,您可能依赖于本机线程支持或诸如boost的库,该库是跨平台的并且在行业中广泛使用。像Java和C#这样的高级语言具有内置的多线程功能,这样做更容易。
您可以在将来的库(#include <future>
)中实现它。
如果您的功能是
int my_func(int param1, int param2, int param3);
int my_second_func(int param1, int param2, int param3);
然后,您可以使用future来运行功能asynchronously
,如下所示:
std::future<int> f = std::async(std::launch::async, my_second_func, arg1, arg2, arg3);
int result1 = my_func(arg1, arg2, arg3);
int result2 = f.get();
在异步(并行)的单独线程中评估函数的地方。