Linux系统编程

119 阅读1分钟
  • 线程基本编程
  1. 线程创建
  pthread_creat(pthread_id , pthread_attr , void*(函数入口) , void *arg )
  return 成功(0) 错误(代码)
  1. 线程终止
   pthread_exit(void *status_exit )                //线程主动结束
   pthread_cancel(pthread_t tid)                  //其他线程调用结束该进程
  1. 回收资源
  pthread_join(pthread_t pthread_id, void ** status_exit) //接受线程结束状态
  • 线程资源访问

    同一进程内访问共享资源,为了能够更好的协调多线程访问公共资源,采用互斥锁和信号量来控制 -> 互斥锁:适用于同时可用资源是唯一的情况
    -> 信号量:适用于同时可用资源是多个的情况

  • 线程属性

  1. 绑定属性:Linux中采用"一对一"的线程机制,即一个用户线程对应一个内核线程,通过绑定属性设置能够将内核线程和
  2. 分离属性:决定一个线程在什么情况下终结自己。非分离状态下,线程结束只能等待Pthread_join()来回收自己的资源。分离状态下,线程结束后立即释放自身资源。
 pthread_attr_init()  //属性初始化