在运行时,如何创建线程?
我将从标准输入——终端——获取线程数,然后根据这个数字创建线程。但是,如何?
Ex:
input : N, N is integer
in main function
create N thread
编辑:平台Linux
在运行时,如何创建线程?
我将从标准输入——终端——获取线程数,然后根据这个数字创建线程。但是,如何?
Ex:
input : N, N is integer
in main function
create N thread
编辑:平台Linux
是的,线程(如果我们假设我们正在使用 pthreads)是通过调用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);