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 线程传递参数的主要内容,如果未能解决你的问题,请参考以下文章

ThreadLocal父子线程数据传递解决方案

Java多线程编程,怎样实现线程间数据的传递?

使用 std::thread 函数 C++11 将指针作为参数传递

(1) 如何向线程对应的函数传递参数?一个参数如何传递,多个参数如何传递? (2) 深入理解线程与进程的

如何绕过将数据模型传递给片段参数以避免事务太大异常?

将接口从片段传递到kotlin中的活动