01线程的基本概念

秒速五厘米 2023-06-17 06:56 62阅读 0赞

#

1. 同步(synchronize)

同步可以理解为:程序按照代码的顺序从头执行到尾,必须等待执行完这行代码才能执行下面的代码。

2. 异步(asynchronize)

异步可以理解为:程序在执行过程中开启了多个线程,不必非要等待这行代码执行完才可以执行下一行代码,不同线程的代码是可以同时执行的。

3. 并发(concurrency)

多个任务看上去同时执行,其实是cpu分配一段时间给这个线程,然后又分配一段时间给其它线程。

4. 并行(parallelism)

并行是真正的同时执行。

5. 临界区

多个线程可能会有共享的数据,这些数据可能会有线程安全问题,所以同一时刻只能有一个线程拥有,其它线程必须等待。

6. 阻塞(blocking)

当一个线程占有临界区的资源,其它所需要这个资源的线程必须等待,等待会导致线程挂起,这种情况就叫阻塞。

7. 非阻塞(non-blocking)

线程不会妨碍其它线程执行,所有线程都会尝试不断执行

8. 死锁(deadLock)

线程所需要的资源互相占用,互相等待的状态。比如:A需要B占有的资源,B需要A占有的资源,它们都会互相等待下去

9. 活锁(liveLock)

线程所需要的资源互相占用,但是它们会释放自己占用的资源,然后再去拿自己需要的资源,一直处于互相‘谦让’的状态。比如:两个人对面,都一直互相让路

10. 饥饿(starvation)

线程因为某种原因,一直无法获得所需要的资源,导致一直无法执行。

实时内容请关注微信公众号,公众号与博客同时更新:程序员星星

实时内容请关注微信公众号,公众号与博客同时更新

发表评论

表情:
评论列表 (有 0 条评论,62人围观)

还没有评论,来说两句吧...

相关阅读

    相关 线(Thread)基本概念

    目录 背景 进程的两个基本属性 程序并发执行所需付出的时空开销 线程——作为调度和分派的基本单位 线程与进程的比较 线程的状态与线程控制块 线程运行的三个状态

    相关 线基本概念

    什么是线程池 > 在日常的实际开发中,我们为了提升开发的效率需要将业务代码采用多线程的方式去执行。可以将一个工作任务划分成几个线程,分别交给几个不同的线程去执行,最后汇总

    相关 线基本概念

    线程的特点和属性 有的进程需要同时做很多事,传统的进程只能串行地执行程序,所以引入了线程来增加并发度。 可以把线程理解为轻量级进程,线程是一个基本的 CPU 执行单元,

    相关 线基本概念

    进程:一个正在运行的程序拥有该程序运行的所有资源,包括资源的分配和任务的调度。 线程:在进程中负责具体代码的执行,一个进程至少有一个线程 单线程:在整个程序中只有一个线程,

    相关 线基本概念

    基本概念 1. 进程 (Process):一个程序运行起来时在内存中开辟一段空间用来运行程序,这段空间包括 heap、stack、data segment 和 code