读书笔记--第十一章 线程

本文介绍了线程的基本操作,包括创建、终止、加入、取消等,并详细解释了线程清理程序的概念及其使用方法。此外,还探讨了线程同步机制,如互斥锁的初始化与使用、读写锁及条件变量的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第十一章 线程

1..pthread_t tid;

   pthread_equal

   pthread_t pthread_self(void);

   int pthread_create()

   FreeBSD使用指向线程数据结构的指针作为他的线程id

 linux 不能在线程调度上做任何的假设

2..线程的终止

 void pthread_exit(void*);

     a..从启动例程中返回

     b..被同进程中其他线程取消

     c..线程调用pthread_exit

3.. int prhread_join(pthread_t thread, void **rval_ptr)

      调用线程将阻赛,直到指定的线程终止.

       rval_ptr可以为NULL,此时,不返回终止状态.

4..int pthread_cancel(pthread_t tid);

      取消同一进程中的其它线程

5..线程清理程序

      void pthread_cleanup_push(void (*rtn)(void*), void *arg);

      void pthread_cleanup_pop();

      两个要成对出现

6..pthread_detach(tid)   使线程进入分离状态

7..线程同步

     方法1:互斥

               a.互斥的初始化

       int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthred_mutexattr_t *testrict attr);

                   int pthread_mutex_destroy(pthread_mutex_t *mutex);

               b.互斥的使用

                   int pthread_mutex_lock(pthread_mutex_t *mutex);

                   int pthread_mutex_trylock(pthread_mutex_t *mutex);//尝试枷锁,成功返回

                   int pthread_mutex_unlock(pthread_mutex_t *mutex);

     方法2:读写锁

     方法3:条件变量

     方法2:读写锁

第十二章..线程控制

1..线程属性

2..



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值