并发编程基础与原子操作

在这里插入图片描述
小疑问: 上面的Thread的构造方法和我们平时new Thread()感觉有点区别啊?平时写的时候没有写“ThreadGroup,stackSize”参数啊

2.线程的生命周期
在这里插入图片描述
在这里插入图片描述
下面是对suspend()方法和stop()方法的原理解析
在这里插入图片描述
小疑问: 上面画红线的地方所表达的意思是什么呢?
在这里插入图片描述
解释: “守护线程”的作用就是为了服务“非守护线程”的,只要存在“非守护线程”,那么“守护线程”就不会死亡
小疑问: 为什么上述suspend会导致数据不同步?以及suspend造成死锁的原理是什么?
在这里插入图片描述
小疑问: ①上述第3点“如果线程阻塞,如采用sleep(),线程将捕捉异常并退出阻塞”这句话不是很理解,哪里来的异常呢?这是个问题,sleep()方法并不会产生异常
②interrupt()方法和isInterrupted()方法的作用各是什么呢?

二.原子操作
1.CAS(Compare and Swap)
在这里插入图片描述
小疑问: 上述说的ABA问题,循环时间长开销大是什么意思啊?为什么会循环时间长啊?

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40241957/article/details/88320194