01线程的基本概念

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值