GCC
-
Linux条件变量详解
假设一个进程中包含多个线程,这些线程共享变量 x,我们希望某个(或某些)线程等待 "x==10' 条件成立后再执行后续的代码,该如何实现呢? 您可能想到用 whi…
-
Linux Mutex互斥锁详解
实现多线程同步的常用方法有 4 种,分别称为互斥锁、信号量、条件变量和读写锁,互斥锁是其中最简单也最有效地的方法。本节,我们就为您详细讲解互斥锁的具体用法。 有关信号量、条件变量以…
-
pthread_cancel()函数:终止线程执行
线程结束执行的方式共有 3 种,分别是: 线程将指定函数体中的代码执行完后自行结束; 线程执行过程中,遇到 pthread_exit() 函数结束执行。 线程执行过程中,被同一进程…
-
pthread_exit()函数:终止线程
多线程编程中,线程结束执行的方式有 3 种,分别是: 线程将指定函数体中的代码执行完后自行结束; 线程执行过程中,被同一进程中的其它线程(包括主线程)强制终止; 线程执行过程中,遇…
-
pthread_create()函数:创建线程
Linux 中的 pthread_create() 函数用来创建线程,它声明在<pthread.h>头文件中,语法格式如下: int pthread_create(pt…
-
Linux线程属性详解
我们已经学会了如果创建一个线程,例如: #include <pthread.h> void * threadFun(void* args){ //…… } pt…
-
pthread_join()函数:等待线程执行结束
如果想获取某个线程执行结束时返回的数据,可以调用 pthread_join() 函数来实现。本节,我们就为您详细讲解 pthread_join() 函数的功能和用法。 pthrea…
-
Linux读写锁详解
多线程程序中,如果仅有少数线程会对共享数据进行修改,多数线程只是读取共享数据的值,就适合用读写锁解决“线程间抢夺资源”的问题。 读写锁的核心思想是:将线程访…
-
Linux信号量详解
信号量(Semaphore)的概念最早由荷兰计算机科学家 Dijkstra(迪杰斯特拉)提出,有时又称“信号灯”。本节,我们将详细地讲解如何使用信号量实现线…
-
Linux线程同步详解
多线程程序中,各线程除了可以使用自己的私有资源(局部变量、函数形参等)外,还可以共享全局变量、静态变量、堆内存、打开的文件等资源,这已经在《线程是什么》一节做了详细的讲解,不再过多…