美文网首页
线程 -- 线程同步(join和互斥锁)

线程 -- 线程同步(join和互斥锁)

作者: glRu | 来源:发表于2020-07-27 17:40 被阅读0次

线程同步

保证同一时刻只能有一个线程去操作全局变量同步:就是协同步调按预定的先后次序进行运行

比如如:你说完,我再说,好比现实生活中的对讲机

线程同步的方式

1.线程等待(join)

2.互斥锁:对共享数据进行锁定,保证同一时刻只有一个线程去操作

注意:互斥锁是多个线程一起去抢,抢到锁的线程先执行(谁先抢到不知道),没有抢到锁的线程需要等待,等互斥锁使用完释放后,其它等待的线程再去抢这个锁.

互斥锁的使用步骤:

# 创建锁

mutex = threading.Lock()

# 上锁

mutex.acquire()

#这里编写代码保证同一时刻只能有一个线程去操作,对共享数据进行锁定

# 排放锁

mutex.release()

注意点:

acquire和 release方法之间的代码同一时刻只能有一个线程去操作

如果在调用 acquire方法的时候其他线程已经使用了这个互斥锁,那么此时 acquire方法会堵塞,直到这个互斥锁释放后才能再次上锁。

相关文章

  • 线程 -- 线程同步(join和互斥锁)

    线程同步 保证同一时刻只能有一个线程去操作全局变量同步:就是协同步调按预定的先后次序进行运行比如如:你说完,我再说...

  • 网络之美

    线程安全问题----互斥锁和递归锁 互斥锁线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制就是引入互斥锁...

  • 线程同步与互斥

    Linux--线程编程 多线程编程-互斥锁 线程同步与互斥 互斥锁 信号量 条件变量 互斥锁 互斥锁的基本使用...

  • 并发与多线程

    1线程的同步与互斥。解决线程的同步与互斥 synchronied 和cas乐观锁 还有 lockcas是读取数...

  • Linux线程同步

    Linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。 Linux线程同步-----互斥锁...

  • OpenMP多线程——Parallel for

    多线程——线程同步 数据竞争问题 线程互斥同步——critical 线程互斥同步——atmoic 线程互斥同步——...

  • 第13章 线程安全与锁优化

    第13章线程安全与锁优化 13.2线程安全 13.2.2线程安全的实现方法 1.互斥同步 互斥同步(Mutual ...

  • iOS重识

    1synchronized(互斥锁) 互斥锁,就是使用了线程同步技术,多条线程按顺序地执行任务 使用场景:多条线程...

  • 8.1 线程同步

    线程同步(互斥) 简介:同步(互斥)是相对于异步(并发)的概念,线程同步设计到锁的概念; 线程的两大特性:1.可见...

  • 计算机基础-操作系统提升篇

    一,线程,进程同步 为什么需要同步 1.线程同步 以下都是对资源加锁 互斥量(互斥锁)逻辑开始加个锁,结束再解锁,...

网友评论

      本文标题:线程 -- 线程同步(join和互斥锁)

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