并发编程基础与原子操作 绝地灬酷狼 2022-03-11 10:24 231阅读 0赞 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70] **小疑问:** 上面的Thread的构造方法和我们平时new Thread()感觉有点区别啊?平时写的时候没有写“ThreadGroup,stackSize”参数啊 2.线程的生命周期 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70 1] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70 2] 下面是对suspend()方法和stop()方法的原理解析 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70 3] **小疑问:** 上面画红线的地方所表达的意思是什么呢? ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70 4] **解释:** “守护线程”的作用就是为了服务“非守护线程”的,只要存在“非守护线程”,那么“守护线程”就不会死亡 **小疑问:** 为什么上述suspend会导致数据不同步?以及suspend造成死锁的原理是什么? ![在这里插入图片描述][20190307202312566.png] **小疑问:** ①上述第3点“如果线程阻塞,如采用sleep(),线程将捕捉异常并退出阻塞”这句话不是很理解,哪里来的异常呢?这是个问题,sleep()方法并不会产生异常 ②interrupt()方法和isInterrupted()方法的作用各是什么呢? **二.原子操作** 1.CAS(Compare and Swap) ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70 5] **小疑问:** 上述说的ABA问题,循环时间长开销大是什么意思啊?为什么会循环时间长啊? ![在这里插入图片描述][20190307204500738.png] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70]: /images/20220311/0a4fa77e8e8a44eea286195128c253d0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70 1]: /images/20220311/93db03df90234218a7a01e6d61361a59.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70 2]: /images/20220311/6797670520ee4be7bf3d750541702c7e.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70 3]: /images/20220311/f53b4950fec54ec49105a1545ed8cd8b.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70 4]: /images/20220311/399395ff52194ee79db07979a8fb0f8c.png [20190307202312566.png]: /images/20220311/06575791da2340cca631656919bc48d6.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjQxOTU3_size_16_color_FFFFFF_t_70 5]: /images/20220311/dead37f17b4948c9bf1e454c13e6f30c.png [20190307204500738.png]: /images/20220311/3b9aa79a51b748f7a7a05d74454fdc82.png
相关 Java并发编程:原子操作与锁机制实战示例 在Java并发编程中,原子操作和锁机制是非常重要的概念。这里我们将通过几个实际的示例来深入理解它们。 1. 原子操作: - 简单原子操作(例如int类型):`int v 红太狼/ 2024年09月11日 00:30/ 0 赞/ 18 阅读
相关 并发编程原子操作 CAS 思想(十) 今天分享并发编程原子操作 CAS 思想和使用: 一、CAS思想: 1、什么是原子操作?如何实现原子操作? 假定有两个操作 A 和 B ,如果从执 迈不过友情╰/ 2022年12月19日 15:25/ 0 赞/ 257 阅读
相关 【Java并发编程】原子操作(一):计算机如何实现原子操作 原子(atom)本意是“不能被进一步分割的小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。在多处理器上实现原子操作就变得有点复杂 「爱情、让人受尽委屈。」/ 2022年11月19日 04:29/ 0 赞/ 206 阅读
相关 并发系列之CAS与原子操作 并发系列之CAS与原子操作 1、CAS的概念 2、Java实现CAS的原理 - Unsafe类 3、原子操作-AtomicInte r囧r小猫/ 2022年11月18日 02:12/ 0 赞/ 269 阅读
相关 详解并发编程基础之原子操作(atomic包) 前言 > 嗨,大家好,我是asong。最近想写一个并发编程系列的文章,使用`Go`也有一段时间了,但是对并发的理解不是很透彻,借着这次总结,希望能更进一步。我们以"原子操 女爷i/ 2022年10月24日 01:50/ 0 赞/ 226 阅读
相关 并发编程--原子类AotmicInteger 前几篇博客中我们已经介绍了线程、volatile、synchronized和cas自旋相关的知识,接下来我介绍一下jdk提供的并发编程包java.util.concurrent 分手后的思念是犯贱/ 2022年06月18日 08:10/ 0 赞/ 247 阅读
相关 Java高并发编程(九):Java中原子操作类 Java从JDK 1.5开始提供了java.util.concurrent.atomic包(以下简称Atomic包),这个包中的原子操作类提供了一种用法简单、性能高效、线程安全 我会带着你远行/ 2022年04月01日 05:00/ 0 赞/ 254 阅读
相关 并发编程基础与原子操作 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub 绝地灬酷狼/ 2022年03月11日 10:24/ 0 赞/ 232 阅读
相关 Java 并发编程(二十):原子操作类 文章目录 1、简介 2、原子更新基本类型 2.1、AtomicInteger 实现原子操作的原理 深碍√TFBOYSˉ_/ 2022年03月10日 06:46/ 0 赞/ 307 阅读
还没有评论,来说两句吧...