Table of Contents
线程同步
了解线程信号量的基础知识,对深入理解python的线程会大有帮助。
当两个线程同时执行时,不可避免同时操作同一个变量或者文件等,所以需要有一组机制来确保他们能正确的运行:信号量和互斥量。信号量可以分为最简单的“二进制信号量”和更通用的“计数信号量”。信号量通常用来保护一段代码,使其每次只能被一个执行线程运行,这种情况下需要用到二进制信号量。有时候希望可以允许有限数目的线程执行一段指定代码,这就需要用到计数信号量。实际上,技术信号量是一种二进制信号量的逻辑扩展,实际两者调用的函数一样。
互斥量和信号量很相似,事实上他们可以互相通过对方来实现。但在实际应用中,对于一些情况使用其中一种更符合语义而且效果更好。
用信号量进行同步
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include &l