C++多线程

多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序;

  多任务处理的两种类型:基于进程基于线程

    基于进程的多任务处理是程序的并发执行

    基于线程的多任务处理是同一程序的片段的并发执行

 

多线程程序包含可以同时运行的两个或多个部分,这样的程序中的每个部分称为一个线程,每个线程定义了一个单独的执行路径;

创建线程:     ( 创建成功时,函数返回0  )

  #include<pthread.h>

  pthread_create(thread, attr, start_routine, arg)     //  pthread_creadte 创建新的线程,并让它可执行

  参数:thread:指向线程标识符指针;

     attr:一个不透明的属性对象,可用来设置线程属性;

     start_routine:线程运行函数起始地址,一旦线程被创建就会执行;

     arg:运行函数的参数,它必须通过把引用作为指针强制转换为void类型进行传递;

终止线程

  #include<pthread.h>

  pthread_exit ( status )        //  pthread_exit()用于显示地退出一个线程;

  

向线程传递参数

 

连接和分离线程

  pthread_join ( thread_id, status )   //  阻碍调用程序,直到指定的 thread_id 线程终止为止;

  pthread_detach ( thread_id )

  当创建一个线程时,它的某个属性会定义它是否是可连接的(joinable)或可分离的(detached)。

  只有创建时定义为可连接的线程才可以被连接;

  如果线程创建时被定义为可分离的,则它永远也不能被连接;

 

转载于:https://www.cnblogs.com/ll9207/p/7267133.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值