pthread_struct

  1. #include <stdio.h>  
  2.   
  3. #include <pthread.h>  
  4.   
  5. #include <unistd.h>  
  6.   
  7. #include <stdlib.h>  
  8.   
  9.   
  10.   
  11. struct menber  
  12.   
  13. {  
  14.   
  15.     int a;  
  16.   
  17.     char *s;  
  18.   
  19. };  
  20.   
  21.   
  22.   
  23. void *create(void *arg)  
  24.   
  25. {  
  26.   
  27.     struct menber *temp;  
  28.   
  29.     temp=(struct menber *)arg;  
  30.   
  31.     printf("menber->a = %d  \n",temp->a);  
  32.   
  33.     printf("menber->s = %s  \n",temp->s);  
  34.   
  35.     return (void *)0;  
  36.   
  37. }  
  38.   
  39.   
  40.   
  41. int main(int argc,char *argv[])  
  42.   
  43. {  
  44.   
  45.     pthread_t tidp;  
  46.   
  47.     int error;  
  48.   
  49.     struct menber *b;  
  50.   
  51.     b=(struct menber *)malloc( sizeof(struct menber) );  
  52.   
  53.     b->a = 4;  
  54.   
  55.     b->s = "zieckey";  
  56.   
  57.   
  58.   
  59.     error = pthread_create(&tidp, NULL, create, (void *)b);  
  60.   
  61.   
  62.   
  63.     if( error )  
  64.   
  65.     {  
  66.   
  67.         printf("phread is not created...\n");  
  68.   
  69.         return -1;  
  70.   
  71.     }  
  72.   
  73.     sleep(1);  
  74.   
  75.     printf("pthread is created...\n");  
  76.   
  77.     return 0;  
  78.   
  79. }  
这段代码定义了多个线程以及一个信号处理函数,如下: - struct sigaction sigact; 定义了一个 sigaction 结构体,用于设置信号处理函数。 - int tcp_connect_state = -1; 定义了一个整型变量 tcp_connect_state,初值为 -1,用于记录 TCP 连接状态。 - int ethernet_connect_flag = 0; 定义了一个整型变量 ethernet_connect_flag,初值为 0,用于标记以太网连接状态。 - pthread_t thrid_publis_up[PUBLISH_NUM_THREADS]; 定义了一个 pthread_t 类型的数组 thrid_publis_up,用于存储 publish_up 线程的线程 ID。 - pthread_t thrid_ntp_time; 定义了一个 pthread_t 类型的变量 thrid_ntp_time,用于存储 ntp_time 线程的线程 ID。 - pthread_t thrid_heart_beat; 定义了一个 pthread_t 类型的变量 thrid_heart_beat,用于存储 heart_beat 线程的线程 ID。 - pthread_t thrid_status; 定义了一个 pthread_t 类型的变量 thrid_status,用于存储 status 线程的线程 ID。 - pthread_t thrid_gps; 定义了一个 pthread_t 类型的变量 thrid_gps,用于存储 gps 线程的线程 ID。 - pthread_t thrid_mqtt; 定义了一个 pthread_t 类型的变量 thrid_mqtt,用于存储 mqtt 线程的线程 ID。 其中,pthread_t 是 POSIX 线程库中的线程 ID 数据类型,用于标识一个线程。这里定义了多个线程 ID 变量,用于方便管理多个线程。这些线程 ID 变量在程序中会被用于启动和停止线程等操作。 此外,这段代码还需要进一步结合信号处理函数进行分析,才能完整地理解它的作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值