各位看官们,大家好。上一回中咱们说的是线程间通信的样例,这一回咱们说的样例是:线程同步。闲话休提,言归正转。让我们一起talk C栗子吧!
看官们,提到同步。我想大家都不陌生,由于我们在前面章回中介绍过进程同步的内容。
大家都知道线程是轻量级的进程,尽管线程不像进程一样须要专门的通信机制,可是线程须要专门的同步机制。
今天我们来介绍一下线程同步的内容。
同步的含义对于进程和线程是同样的。仅仅是进程和线程实现同步的方式不同样。关于同步的含义,我们就不做具体的介绍了,假设大家忘记了,能够查看前面章回的内容。
通常有两种方法来实现线程同步:
- 信号量
- 相互排斥量
信号量机制是由计算机科学家迪杰斯特拉提出的,我们在前面介绍过,因此不再做具体的介绍。
该机制实现同步的核心操作是对信号量的P/V原子操作。该机制和我们在前面章回中介绍进程同步时提到的信号量是同样的。假设大家忘记了,能够查看前面章回的内容。我们说的同样是指同步的理论在进程和线程中都能够使用,只是具体的实现方式不同。我们在后面的章回中会具体介绍。
相互排斥量机制是指线程訪问某个临界区域前先运行锁操作,当线程完毕对临界区域的操作后。再运行解锁操作。被锁住的临界区域仅仅能被锁它的线程使用,直到临界区域被解锁后,它才干被其他线程訪问。相互排斥量机制是专门针对线程同步的一种机制,在进程同步中没有该机制。我们在后面的章回中会具体介绍该机制。
各位看官。关于线程同步概述的样例咱们就讲到这里。
欲知后面还有什么样例,且听下回分解 。