1.互斥锁
std::mutex是c++中最常用的互斥锁,所谓互斥是指线程间互斥:共享变量只能被一个线程独占。
c++中定义的读写锁:std::shared_mutex。当一个变量只被一个线程写,被多个线程读时,可以通过读写锁来提升效率,此时如果用互斥锁会导致线程阻塞。
在Linux系统上,可使用pthread.h的API创建线程。比如pthread_create()。
pthread.h符合POSIX标准,适用于类Unix、Linux系统。也有兼容Windows的版本——pthreads-w32。
编译时要链接pthread库,比如:gcc test.c -o test -l pthread
C11制定了一个标准的线程库threads.h,但部分编译器不支持它。