课程总结 1、继承Thread类创建线程: Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单, ...
分类:
其他好文 时间:
2019-10-23 21:58:53
阅读次数:
75
实验内容: 源代码: 主类: ~~~ package exercise; public class TrainStationTicketSales implements Runnable { private int ticket = 1000; public void run() { for(int ...
分类:
其他好文 时间:
2019-10-22 23:57:19
阅读次数:
187
线程的生命周期或者说状态其实不复杂,但是很多人的理解可能有错误,一个典型的误区,线程运行时的状态是Runnable,而不是Running,因为线程 没有Running状态。 线程的状态 1、New:已创建,没启动。还没有执行start() 2、Runnable:调用start()之后就处于Runna ...
分类:
编程语言 时间:
2019-10-22 18:42:29
阅读次数:
98
(1)同步阻塞:等待锁的释放(2)等待阻塞: 1)使用Thread.sleep造成的阻塞:时间结束后自动进入RUNNABLE状态 2)使用Thread.wait造成的阻塞:使用Thread.notify或者Thread.notifyAll唤醒 3)使用Thread.join造成的阻塞:等待上一个线程 ...
分类:
编程语言 时间:
2019-10-21 00:10:43
阅读次数:
382
(1)线程的生命周期共有六种状态(NEW, RUNNABLE, BLOCKED, WAITING,TIMED_WAITING,TERMINATED) (2)下面是jdk8中Thread类中源码的部分内容: (3)六种状态的转换图 ...
分类:
编程语言 时间:
2019-10-20 22:52:23
阅读次数:
365
Callable 在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或共享存储区以及线程通信的方式实现获得任务结果的目的。 不过,Java中,也提供了使用Callab ...
分类:
其他好文 时间:
2019-10-19 18:57:09
阅读次数:
80
1、右键点击工程,选择Export…,进入页面 2、弹出对话框,选择Java->Runnable JAR file ,点击Next>,页面显示jar包的输出路径,配置为jmeter的/lib/ext下,配置lib依赖分开打包,点击Finish,配置完成 3、到指定路径 即可获取jar包 打出的包结构 ...
分类:
编程语言 时间:
2019-10-18 18:41:33
阅读次数:
104
一、CountDownLatch介绍; * CountDownLatch是一种java.util.concurrent包下一个同步工具类; * CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。 * public void countDown() 锁存器的计数 ...
分类:
编程语言 时间:
2019-10-18 12:42:21
阅读次数:
106
一、线程状态 NEW 新new出来,还没有执行start方法 RUNNABLE 可运行状态,或者在执行,或者在等待CPU分配时间 BLOCKED 当线程调用wait方法后,线程就进入了阻塞状态,等待获取锁然后进入同步代码块或者同步方法 WAITING 等待状态,线程调用wait方法后者join方法 ...
分类:
编程语言 时间:
2019-10-16 23:31:58
阅读次数:
131
java8 十大新特性如下:1.接口的默认方法2.Lambda 表达式3.函数式接口4.方法与构造函数引用5.Lambda 作用域6.访问局部变量7.访问对象字段与静态变量8.访问接口的默认方法9.Date API10.Annotation 注解 一、接口的默认方法 Java 8允许我们给接口添加一 ...
分类:
编程语言 时间:
2019-10-14 14:19:47
阅读次数:
59