美文网首页
【基本知识】线程之间的同步

【基本知识】线程之间的同步

作者: 杨格格杨 | 来源:发表于2018-07-10 13:33 被阅读0次

本文是针对线程进行展开的,从最基本的几个角度来理解。

1.什么是线程?

操作系统可以进行运算的最小单元,包含在进程之中,是进程的实际运作单位。举一个比较生动的例子,进程就是一个工厂,线程就是工厂里面的工人。线程是独立分配和调度的单元。

2.什么是线程之间的同步?

同步的意思是,一个线程的处理结果是另一个线程的输入,线程之间直接制约着,这种就是同步。还有一种是,两个线程同时访问一个资源,该资源一个时间只能被一个线程访问,只有当一个结束之后,另一个才可以进行。这种也是同步。

3.同步的方式有哪些?

**临界:对应着一个CcriticalSection对象,当线程需要访问保护数据时,调用EnterCriticalSection函数;当对保护数据的操作完成之后,调用LeaveCriticalSection函数释放对临界区对象的拥有权,以使另一个线程可以夺取临界区对象并访问受保护的数据。

**互斥:互斥与临界区很相似,但是使用时相对复杂一些(互斥量为内核对象),不仅可以在同一应用程序的线程间实现同步,还可以在不同的进程间实现同步,从而实现资源的安全共享。

**信号量:信号量的用法和互斥的用法很相似,不同的是它可以同一时刻允许多个线程访问同一个资源。

**事件:手动置位事件和自动置位事件。

有问题,可以联系我:xwyang_zjut@163.com

相关文章

  • 【基本知识】线程之间的同步

    本文是针对线程进行展开的,从最基本的几个角度来理解。 1.什么是线程? 操作系统可以进行运算的最小单元,包含在进程...

  • Java内存模型

    线程之间的通信和同步 线程之间的通信和同步是并发编程领域的关键问题。 线程之间的通信 通信是指线程之间以何种机制来...

  • 阻塞/非阻塞,同步/异步

    同步与异步(线程间调用) 同步与异步是对应于调用者与被调用者,它们是线程之间的关系,两个线程之间要么是同步的,要么...

  • CountDownLatch

    概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用...

  • CountDownLatch

    开篇 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用...

  • 多线程GCD的使用

    一、同步/异步、串行/并行的区别 1.同步/异步 同步/异步是指线程与线程之间的关系。 2.串行/并行 串行、并行...

  • GCD 小结

    一、 同步/异步、串行/并行的区别 1.同步/异步 同步/异步是指线程与线程之间的关系. 2.串行/并行 串行/并...

  • java内存模型

    1、并发编程中有两个关键问题:线程通信和线程同步a、线程通信:是指线程之间通过何种机制来进行信息的交换b、线程同步...

  • 最详细分析Java 内存模型

    并发编程中, 线程之间如何通信及线程之间如何同步, 通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间...

  • iOS多线程疑问(已经解答)

    同步与异步是对应的,它们是线程之间的关系,两个线程之间要么是同步的,要么是异步的。阻塞与非阻塞是对同一个线程来说的...

网友评论

      本文标题:【基本知识】线程之间的同步

      本文链接:https://www.haomeiwen.com/subject/knpfpftx.html