多线程编程

进程内的线程共享全局变量和内存.此时就要考虑共享变量的互斥问题. 

使用线程时,需要加入<pthread.h>头文件.且编译时需链接pthread库.

创建线程需调用pthread_create函数.

int pthread_create(pthread_t *thread,const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg).

参数说明:1.thread 线程ID.  2.attr属性脱离,可汇合,调度策略.该参数可以为NULL.  3.start_routine 线程处理函数.  4.arg 给线程例程传参数.

以下是个多线程处理的测试例子。

 

#include  < stdio.h >
#include 
< pthread.h >

int  iCur = 0 ;         /*当前的线程索引*/
int  iArr[ 100 ];      /*线程使用的全局的变量*/
thread_t thr[
9 ];
 
/*线程处理函数*/
void   f_thread( void   * p)
{/*p传进来的是线程索引*/
    
int iTmp;

    iTmp
=(int)(*p);

    iArr[iTmp]
=100;
}


int  main()
{
  
int i;

  
for (i=0;i<10;i++)
  
{
     pthread_create(thr[i],NULL,(
void*)f_thread,(void*)i);
  }


    
return 1;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值