在运行时,如何创建线程?
我将从标准输入 - 终端 - 获取线程,然后我将根据此数字创建线程。但是,怎么样?
Ex:
input : N, N is integer
in main function
create N thread
编辑:平台Linux
答案 0 :(得分:2)
是的,线程(如果我们假设我们正在使用pthread)是通过调用 pthread_create 创建的,您可以从循环中调用它。
这是创建N个线程的C函数的开始:
int start_N_threads(int N) {
pthread_t threads[N];
printf("Starting %d thread(s)...\n", N);
for (int i = 0; i < N; ++i) {
if (pthread_create(&threads[i], NULL, thread_body, (void*)&results[i]) != 0) {
printf("Couldn't create thread %d.\n", i);
}
}
printf("The %d thread(s) are running.\n", N);