线程
java学习笔记,包含代码、图片、文字描述
Xzzz2020
个人博客地址:https://xzzz2020.gitee.io/,可以收藏一下,会第一时间发布文章
展开
-
JVM--内存模型
目录1. 原子性问题分析解决方法2. 可见性退不出的循环解决方法可见性3. 有序性诡异的结果解决方法有序性理解happens-before4. CAS 与 原子类CAS乐观锁与悲观锁原子操作类5. synchronized 优化轻量级锁锁膨胀重量锁偏向锁其它优化JMM 定义了一套在多线程读写共享数据时(成员变量、数组)时,对数据的可见性、有序性、和原子性的规则和保障。跟内存结构没有关系1...原创 2020-03-23 15:28:33 · 341 阅读 · 0 评论 -
Java多线程开发--多线程综合案例
内容学习于:edu.aliyun.com1. 数字加减 设计4个线程对象,两个线程执行减操作,两个线程执行加操作。代码:class AddThread implements Runnable { private Resource resource; public AddThread(Resource resource) { this.resourc...原创 2020-01-15 20:55:51 · 609 阅读 · 0 评论 -
Java多线程开发--多线程深入话题
内容学习于:edu.aliyun.com1. 优雅的停止线程 在多线程操作之中如果要启动多线程肯定使用的是Thread类中的start()方法,而如果对于多线程需要进行停止处理,Thread类原本提供有stop()方法,但是对于这些方法从JDK 1.2版本开始就已经将其废除了,而且一直到现在也不再建议出现在你的代码之中,而除了stop()之外还有几个方法也被禁用了: 已经过期的方法...原创 2020-01-15 20:51:03 · 186 阅读 · 0 评论 -
Java多线程开发--综合实战:“生产者-消费者”模型
1. 生产者与消费者基本模型 在多线程的开发过程之中最为著名的案例就是生产者与消费者操作,该操作的主要流程如下:生产者负责信息内容的生产:每当生产者生产完成一项完整的信息之后消费者要从这里面取走信息;如果生产者没有生产则消费者要等待它生产完成,如果消费者还没有对信息进行消费,则生产者应该等待消费处理完成后再继续生产。 可以将生产者与消费者定义为两个独立的线程类对象,但是对于现在生...原创 2020-01-15 20:42:44 · 245 阅读 · 0 评论 -
Java多线程开发--线程的同步与死锁
内容学习于:edu.aliyun.com内容概括: 在多线程的处理之中,可以利用Runnable描述多个线程操作的资源,而Thread描述每一个线程对象,于是当多个线程访问统一资源的时候如果处理不当就会产生数据的错误操作。1. 同步问题的提出卖票操作代码:class MyThread implements Runnable { private int ticket = 1...原创 2020-01-15 20:36:18 · 171 阅读 · 0 评论 -
Java多线程开发--线程常用操作方法
内容学习于:www.mldn.cn1. 线程的取名和获得 多线程的运行状态是不确定的,那么在程序的开发之中为了可以获取到一些需要使用到线程就只能够依靠线程的名字来进行操作。所以线程的名字是-一个至关重要的概念,这样在Thread类之中就提供有线程名称的处理:构造方法:public Thread(Runnable target , String name);取得名字: public...原创 2020-01-15 20:24:18 · 196 阅读 · 0 评论 -
Java多线程开发--多线程起步
内容学习于:www.mldn.cn具体内容: 所有的Java程序的执行是需要通过一个主方法完成的,主方法会作为程序的起点,但是如果要进行多线程的编程也需要有一个线程的起点结构,此结构就成为线程类,那么所有的线程类都是有继承要求的,可以有三种实现模式,继承Thread类、实现Runnable接口、实现Callable接口。在DOS系统的时代,其本身有一个特征:如果你的电脑上出现了病毒,...原创 2020-01-14 21:01:12 · 1343 阅读 · 0 评论