1. 继承Thread类,重写run方法 2. 实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target 3. 通过Callable和FutureTask创建线程 4. 通过线程池创建线程 前面两种可以归结为一类:无返回值,原因很简单 ...
分类:
系统相关 时间:
2020-02-11 00:32:07
阅读次数:
82
1、以servlet的方式启动SpringBoot 正常情况下要复制代码到tomcat去启动,但springboot内置tomcat了,配置好就可以直接run方法直接运行。 2、直接run运行 ...
分类:
编程语言 时间:
2020-02-10 12:03:40
阅读次数:
72
Java实现并启动线程有两种方法 1、写一个类继承自Thread类,重写run方法。用start方法启动线程2、写一个类实现Runnable接口,实现run方法。用new Thread(Runnable target).start()方法来启动注意:start方法不是立即执行多线程,而是使得该线程变 ...
分类:
编程语言 时间:
2020-02-10 09:19:55
阅读次数:
69
1、ApplicationContextInitializer的作用 上下文刷新即refresh方法前调用 用来编码设置一些属性变量通常用在web环境中 可以通过order接口进行排序 2、进入run方法 进入准备上下文prepareContext方法 进入applyInitializers方法。遍 ...
分类:
编程语言 时间:
2020-02-06 23:21:59
阅读次数:
144
线程的生命周期及状态转换 在Java中任何对象都有生命周期,线程也不例外,线程的创建即是线程的生命周期的开始,当run() 方法执行完毕, 或者线程抛出一个未捕获的异常 或者 错误的时候, 线程的生命周期就结束了。 Java线程的生命周期分为5个阶段: 新建状态、就绪状态、 运行状态、 阻塞状态、 ...
分类:
编程语言 时间:
2020-02-06 16:38:08
阅读次数:
80
1、实现线程有哪几种方式 继承Thread类 实现Runnable接口,重写run()方法 实现Callable接口,重写call()方法 ,返回Future对象结果 线程池:ExecutorService 中submit(runnable/callable)返回一个Future,Future可用来 ...
分类:
编程语言 时间:
2020-01-31 19:13:41
阅读次数:
95
线程创建的方式 有两种 第一种是继承Thread类 重写run方法 (个人偏向这一种实际中这种用的较多) 例如 public class MyThead extends Thread { int j=20; public void run(){ for (int i = 0; i < 20; i++ ...
分类:
编程语言 时间:
2020-01-31 14:05:20
阅读次数:
62
先来看下结论:正确启动线程的方式是使用start()方法,而不是使用run()方法。 代码实战 1. 输出线程名称 “Talk is cheap. Show me the code”,用代码说话:分别调用run()方法和start()方法,打印输出线程的名字。 运行结果: 2. 深入一点 如果代码是 ...
分类:
编程语言 时间:
2020-01-29 21:44:14
阅读次数:
88
先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。 实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。 但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点, ...
分类:
其他好文 时间:
2020-01-28 21:31:43
阅读次数:
69
上篇文章知识介绍了多线程的创建和启动问题,各个子线程和子线程或者说子线程和main线程没有信息的交流,这篇文章主要探讨线程之间信息共享以及交换问题。这篇文章主要以一个卖票例子来展开。 继承Thread重写run方法进行实现 初始代码: public class Tickect1 { public s ...
分类:
编程语言 时间:
2020-01-27 18:53:22
阅读次数:
84