摘要: 前言 我们上面分析道ThreadLocal 类,发现其实ThreadLocal这个类其实内部实现就是通过ThreadLocalMap来实现的。我们可以等同的默认为ThreadLocal做的事情其实和ThreadLocalMap差不多。 目录 ThreadLocalMap 构造函数 ThreadLoc 阅读全文
posted @ 2019-04-02 12:53 hankrose 阅读(927) 评论(0) 推荐(0)
摘要: 前面我们讲了 synchronized和yield,sleep,wait的用法。其实这些都是时间转空间的操作。那么有没有比 synchronized 更快的操作。毕竟同步代码的效率不是很高。那么我们有没有其他可以时间同步操作或者是可见性操作的呢? java是提供了,就是ThreadLocal 这个方 阅读全文
posted @ 2019-04-02 09:48 hankrose 阅读(229) 评论(0) 推荐(0)
摘要: 我们上面讲了wait的用法,下面我们来讲seleep的用法。首先我们还是将上一篇的上体育课的例子拿来做一个示例 我们在里面用一下sleep方法 package ThreadTest; import java.text.SimpleDateFormat; import java.util.Date; 阅读全文
posted @ 2019-03-18 15:06 hankrose 阅读(4238) 评论(0) 推荐(0)
摘要: Thread类中把线程从running状态转化为非runnable状态有一个方法就是wait方法。wait方法是线程的等待状态。我们来看看wait方法简单运用 下面是一个wait方法的代码 package ThreadTest; /** * thread wait方法详解 * @author lin 阅读全文
posted @ 2019-03-18 13:07 hankrose 阅读(6095) 评论(0) 推荐(0)
摘要: 这边我们来说一下java Thread类中的方法。首先我们来说yield方法。我们再说yield之前我们先看一下java 多线程的生命周期。 一般分为四种状态 new runnable runing dead 四种状态。下面我们来看一下图 下面我们来试一段代码 package ThreadTest; 阅读全文
posted @ 2019-03-15 15:22 hankrose 阅读(1286) 评论(0) 推荐(0)
摘要: 首先我们要知道volatile这个关键字是什么意思。我摘录了百度百科的回答: 那么可以从字面上的意思我们了解到这个东西代表的含义是轻快的,不稳定的。我们下面就从字面含义上来解析这个关键字在java中的作用 首先我们知道要在多线程中保证操作的原子性和可见性 我们常用的是synchronized 这个关 阅读全文
posted @ 2019-03-14 15:26 hankrose 阅读(189) 评论(0) 推荐(0)
摘要: 上面我们讲到了多线程的不能确保原子性和可见性。那么我们下面试试用一下用锁来试试,首先介绍到锁,我们就要知道锁是什么,锁干了些什么。目前java多线程用的锁,其中最多的就是synchronized 我们还是用代码来看一个经典的案例,就是卖票案例 package ThreadTest; /** * 用锁 阅读全文
posted @ 2019-03-13 23:00 hankrose 阅读(519) 评论(0) 推荐(0)
摘要: 上面两篇讲了怎么创建线程和两个种常见的创建线程的方式。那么我们来试一试怎么日常生活中的多线程的场景 1.经典的卖票应用 package ThreadTest; /** * 两个窗口同时卖票 * @author lingfengz * */ public class SalesThread { pub 阅读全文
posted @ 2019-03-13 11:35 hankrose 阅读(473) 评论(0) 推荐(0)
摘要: 上一章我们讲到创建线程常用的两种方式,一种是继承Thread类,一种是实现Runnable接口。那么我们这一样主要看继承Thread和实现Runnable的区别。 首先我们可以看到Thread也是实现了Runnable的接口 public class Thread implements Runnab 阅读全文
posted @ 2019-03-12 22:50 hankrose 阅读(381) 评论(0) 推荐(0)
摘要: 今天面试被人面多线程的问题,只能答出简单的。更深层次的就答不出来了,比如闭锁和棚栏的区别。所以在这里我将从新开始回顾java中的多线程。 1.什么是多线程? 2.为什么要用多线程 ? 3.多线程可以做什么? 4.多线程怎么用? 1 什么是多线程? 说到线程,就要说到进程。进程的话,我下面摘录了百度百 阅读全文
posted @ 2019-03-12 21:59 hankrose 阅读(510) 评论(0) 推荐(0)