zoukankan      html  css  js  c++  java
  • 多线程常用术语

    线程安全:
      指某个方法在多线程环境中被调用时,能够正确处理多线程之间的共享变量,返回预期的程序结果。

    线程同步:
      同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。
      线程同步,可理解为线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。

    原子操作:
      一个函数或动作由一个或多个指令的序列实现,对外是不可见的;也就是说没有其他进程能看到其中间状态或中断此操作。
      要保证指令序列要么作为一个组来执行,要么都不执行。原子性保证了并发进程的隔离。

    互斥:
      当一个进程在临界区访问共享资源时,其他进程不能进入该临界区访问共享资源的情形。

    临界区:
      一段代码,在这段代码中进程将访问共享资源,当另外一个进程已在这段代码中运行时,这个进程就不能在这段代码中执行。

    死锁:
      死锁定义为一组相互竞争系统资源或进行通信的进程间的"永久"阻塞。

    形成死锁的四个条件:
      1 互斥;2 占有且等待;3 不可抢占;4 循环等待。

    活锁:
      活锁指的是任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试->失败->尝试->失败。

    活锁和死锁的区别:
      在于,处于活锁的实体是在不断的改变状态,所谓的“活”;而处于死锁的实体表现为等待;活锁有可能自行解开,死锁则不能。

    饥饿:
      一个可运行进程尽管能继续执行,但被调用程序无限期的忽视,而不能被调度执行的情形。

    加油的人生不解释
  • 相关阅读:
    leetcode刷刷刷
    素数问题
    TCP/IP详解(整理)
    关于区块链应用方向与前景的一些思考
    设计模式
    面经中的各种问题汇总
    基于消逝时间量的共识机制(POET)
    c++语言知识点汇总
    二叉树前中后/层次遍历的递归与非递归形式(c++)
    layui表格搜索数据登录失效后的处理
  • 原文地址:https://www.cnblogs.com/s6-b/p/14842240.html
Copyright © 2011-2022 走看看