第十六天:
1. 多线程的基本概念和基本操作
1.1 基本概念
1.2 线程的创建
1.3 线程编号的获取和比较1)pthread_create函数
2)线程之间的关系
1)pthread_self函数
2)pthread_equal函数
1.4 线程的汇合和分离
1.5 线程的终止和取消1)pthread_join函数
2)pthread——detach函数
1)pthread_exit函数
2)pthread_cancel函数
3)pthread_setcancelstate函数
4)pthread_setcanceltype函数
2. 线程同步问题
2.1 基本概念
2.3 使用互斥量实现线程的同步
2.3 使用信号量实现线程的同步1)定义互斥量
- pthread_mutex_t mutex;
2)初始化互斥量
- pthread_mutex_init
3)使用互斥量进行加锁
4)访问共享资源
- pthread_mutex_lock
5)使用互斥量进行解锁
- pthread_mutex_unlock
6)删除互斥量
- pthread_mutex_destroy
信号量:
1)定义信号量——sem_t sem;
2)初始化信号量——sem_init(&sem, 0, 信号量的初始值)
3)获取信号量,即信号量减1——sem_wait(&sem);
4)访问共享资源
5)释放信号量,即信号量加1——sem_post(&sem);
6)删除信号量——sem_destroy(&sem);