并发多线程
来盘海参炒面不要面
这个作者很懒,什么都没留下…
展开
-
Java锁详解
Java锁详解马上就要开始秋招了,我们面试中经常会被问到各种各样的锁,在此做个总结。以下这些锁并不全指锁的状态,有的指锁的特性,有的指锁的设计。一、乐观锁/悲观锁(图片摘自https://www.cnblogs.com/jyroy/p/11365935.html)乐观锁和悲观锁是一种广义上的概念,体现了看线程同步的不同角度,因此,锁从广义上就分为乐观锁和悲观锁。乐观锁:就是乐观思想,每次去哪数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,原创 2020-06-26 22:35:44 · 438 阅读 · 0 评论 -
Java的线程状态及其相互转换
线程的五个状态(生命周期)及其转换一、五个状态概述当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞 (Blocked)和死亡(Dead)5 种状态。尤其是当线程启动以后,它不可能一直"霸占"着 CPU 独自 运行,所以 CPU 需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换1、初始状态(new)实现Runnable、Callable接口或继承Threa原创 2020-06-25 22:36:00 · 330 阅读 · 0 评论 -
Java创建线程的四种方式及其比较
Java线程实现/创建方式一、继承Thread类1、介绍其实Thread类本身也实现了Runnable接口,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线 程,并执行 run()方法。2、使用public class MyThread extends Thread { public void run() { System.out.println("MyThread.run()"原创 2020-06-25 20:39:10 · 283 阅读 · 0 评论 -
Java线程常用方法详解
1、start()功能说明启动一个新线程,在新的线程运行run方法中的代码。注意start方法只是让线程从新建状态进入就绪队列排队,一旦轮到它来享用CPU资源时,就可以脱离创建它的线程独立开始自己的生命周期了。里面代码不一定立刻 运行(CPU 的时间片还没分给它)。每个线程对象的 start方法只能调用一次,如果调用了多次会出现IllegalThreadStateException举例public static void main(String[] args) { Thread t1原创 2020-06-20 22:22:19 · 410 阅读 · 0 评论