Linux 线程传递参数
Posted 苏杺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 线程传递参数相关的知识,希望对你有一定的参考价值。
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <pthread.h> 4 #include <unistd.h> 5 6 #define NUM_THREADS 8 7 8 void *PrintHello(void *args) 9 { 10 int thread_arg; 11 sleep(1); 12 thread_arg = (int)(*((int*)args)); 13 printf("Hello from thread %d ", thread_arg); 14 return NULL; 15 } 16 17 int main(void) 18 { 19 int rc,t; 20 pthread_t thread[NUM_THREADS]; 21 22 for( t = 0; t < NUM_THREADS; t++) 23 { 24 printf("Creating thread %d ", t); 25 rc = pthread_create(&thread[t], NULL, PrintHello, &t); 26 if (rc) 27 { 28 printf("ERROR; return code is %d ", rc); 29 return EXIT_FAILURE; 30 } 31 } 32 sleep(5); 33 for( t = 0; t < NUM_THREADS; t++) 34 pthread_join(thread[t], NULL); 35 return EXIT_SUCCESS; 36 }
以上是关于Linux 线程传递参数的主要内容,如果未能解决你的问题,请参考以下文章
使用 std::thread 函数 C++11 将指针作为参数传递