分享一道多线程面试题,只是拿来练手的,这里通过两种方式去实现0-100交替打印,大家无聊的话,可以瞅两眼。 一、Synchronized实现: public class PrintNumberIncrInSynchronized { private static int number; privat ...
分类:
编程语言 时间:
2019-12-06 09:30:25
阅读次数:
108
创建线程有三种方式: 1.继承Thread类 2.实现Runnable接口 两种多线程实现方式的对比 Thread类也是实现了Runnable接口。两种方式比较,当然实现接口好一些。因为第一继承只能单继承,实现可以多实现。第二,实现的方式利于松耦合。因此多线程的实现几乎都是使用Runnable接口的 ...
分类:
编程语言 时间:
2019-12-04 22:15:34
阅读次数:
111
引入 在前一节我们学习了实现Runnable接口创建线程,其中提到只使用一次对象时使用匿名对象,如: new Thread(new xxx().start();//xxx为实现了Runnable的类 Thread就是一个静态代理,使用了这种方法,xxx类无需继承Thread类,就可以通过Thread ...
分类:
编程语言 时间:
2019-12-03 15:33:33
阅读次数:
87
1.继承Thread类,重写run()——【线程类】 2.实现Runnable接口,重写run()——【任务类】 3.实现Callable接口,重写call()——【带返回值的任务类】 eg. FutureTask<String> task = new FutureTask<>(new Task() ...
分类:
编程语言 时间:
2019-12-02 17:09:43
阅读次数:
103
确定 main class 1.选中Java项目工程名称,在菜单中选择 File->project structure… (快捷键Ctrl+Alt+Shift+S) 2. 在弹出的窗口中左侧选中"Artifacts",点击"+“选择jar,然后选择"from modules with depende ...
分类:
编程语言 时间:
2019-12-01 16:47:35
阅读次数:
107
一 、线程的概念 线程:进程中一个单一顺序的控制流,即执行一个任务先后顺序的过程 。 多线程:一个进程中创建多个控制流,他们之间可能有联系,也可能没有联系。类似于一条路上可以分出多条路,他们有的会交叉,有的也没有交叉。 二、创建线程的方法 1 继承Thread类 2 实现Runnable接口 三 、 ...
分类:
编程语言 时间:
2019-12-01 14:09:22
阅读次数:
76
线程的几种状态 1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法 2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行” 3. 阻塞(BLOCKED):表示线程阻塞于锁 4. 等待(WAITING):进入该状态 ...
分类:
编程语言 时间:
2019-11-26 19:35:38
阅读次数:
83
请画出线程的生命周期,并列出创建线程的方式 线程的5种状态:新建(New),就绪(Runnable),运行(Running),阻塞(Blocked),死亡(Dead) 创建方式:继承Thread 实现Runnable 实现Callable 使用Executors问题来了: 1. sleep结束后进入 ...
分类:
其他好文 时间:
2019-11-26 19:13:09
阅读次数:
74
最近看了一下部署游戏后台的服务器状况,发现我的一个Java程序其占用的CPU时长超过100%,排查后发现竟是Disruptor引起的,让我们来看看究竟为什么Disruptor会有这样的表现。 ...
分类:
编程语言 时间:
2019-11-25 23:19:44
阅读次数:
89