随笔分类 - Linux线程
摘要:条件变量 互斥量防止多个线程同时访问同一共享变量。条件变量允许一个线程就某个共享变量(或其他共享资源)的状态变化通知其他线程,并让其他线程等待这一通知,在通知未到达之前,线程处于阻塞状态。条件变量本身是由互斥量保护的。线程在改变条件状态之前必须首先锁住互斥量。其他线程在获得互斥量之前不会察觉到这种改
阅读全文
摘要:读写锁(reader-writer lock) 读写锁(reader-writer lock)与互斥量类似,不过读写锁允许更高的并行性。互斥量要么是锁住状态,要么就是不加锁状态,而且一次只有一个线程可以对其加锁。而读写锁可以有3种状态:读模式加锁状态、写模式加锁状态和不加锁状态。一次只有一个线程可以
阅读全文
摘要:线程同步 当多个控制线程共享相同的内存时,就需要确保每个线程访问到的数据都是一致的。如果每个线程使用到的变量都是其他线程不会读取或者修改的话,那么就不存在一致性问题。同样,如果变量是只读的,多个线程读取该变量也不会有一致性问题。但是。当一个线程可以修改的变量,其他线程也可以读取或者修改的时候,我们就
阅读全文
摘要:线程创建相关API函数 //头文件 #include <pthread.h> //创建线程函数 int pthread_create(pthread_t *restrict thread, const pthread_attr_t *restrict attr, void *(*start_rout
阅读全文
摘要:POSIX线程终止相关函数 线程终止方式 单个线程可以通过3种方式退出,可以在不终止整个进程的情况下,停止线程的控制流。 (1)线程可以直接从启动例程(也就是线程函数)中返回,即执行return语句,返回值是线程的退出码。 (2)线程可以被同一进程中的其他线程取消。即其他线程调用pthread_ca
阅读全文
浙公网安备 33010602011771号