```java /** * 买票问题 */ public class ThreadTrain1 implements Runnable { private int count = 10; private static Object o = new Object(); @Override public... ...
分类:
其他好文 时间:
2019-08-31 16:51:48
阅读次数:
87
程序中线程过多会导致程序的性能和稳定性都下降,为了避免无限制地创建线程,使用线程池技术。 线程池中线程的数量是有限的,有新的任务,就把任务封装成runnable对象,交给线程池中的线程去执行,一个线程执行完某个任务之后,就可以马上去执行下一个任务。 线程池中的线程数量可以是固定大小的,也可以是弹性伸 ...
分类:
编程语言 时间:
2019-08-30 09:22:20
阅读次数:
119
1. Get和Post的区别 2. cookies和session的区别 3.HashMap和HashTable区别。 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是 ...
分类:
编程语言 时间:
2019-08-29 23:24:27
阅读次数:
126
1,线程状态转换 无限期等待: 限期等待: 线程生命流程: 2,实现方式 代码实现样例【三种方式】: package com.cnblogs.mufasa.demo2; import java.util.concurrent.Callable; public class test1_Runnable ...
分类:
编程语言 时间:
2019-08-29 18:14:42
阅读次数:
102
一.Callable与Runnable 先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法: 由于run()方法返回值为void类型,所以在执行完任务之后无法返回任何结果。 Callable位于java.util.concurrent包下,它也是一个接口 ...
分类:
其他好文 时间:
2019-08-27 21:06:44
阅读次数:
65
Thread 和 Runnable 1. 简介 Java 主要是通过 类以及 接口实现线程机制的。 1. 类为底层操作系统的线程体系架构提供一套统一接口 2. 接口为关联 对象的线程提供执行代码 2. 创建 Thread 和 Runnable 对象 2.1 创建 Runnable 对象 创建 Run ...
分类:
其他好文 时间:
2019-08-27 19:23:39
阅读次数:
76
1、什么是线程池。 线程池在系统启动的时候即创建大量的空闲的线程,程序将一个Runnable对象或者Callable对象传给线程池,线程池就会启动一个线程来执行它们的run()或者call()方法,当run()或者call()方法执行结束后,该线程并不会死亡,而是再次返回线程池称为空闲状态,等待执行 ...
分类:
编程语言 时间:
2019-08-26 00:31:40
阅读次数:
96
6种线程状态: NEW:至今尚未启动的线程 RUNNABLE:正在 java 虚拟机中执行的线程 BLOCKER:受阻塞并等待某个监视器锁的线程 TIMED_WAITING:在指定的等待时间内都是处于休眠的状态 WAITING:无限期地休眠 TERMINATED:已退出的线程 ...
分类:
编程语言 时间:
2019-08-25 12:31:08
阅读次数:
105
创建一个线程有几种方式,很容易想到的就是集成Thread类,实现Runnable接口,还有一种方式就是自己定义的线程类实现Callable接口,这种方式相较于实现Runnable接口具有带有返回值的特点,大家都知道在java中主线程中创建的线程可以独立于主线程执行,也就是说main函数结束了。在ma ...
分类:
编程语言 时间:
2019-08-24 23:01:57
阅读次数:
113
线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable 注意:启动Thread线程只能用start(JNI方法)来启动,start方法通知虚拟机,虚拟机通过调用器映射到底层 ...
分类:
编程语言 时间:
2019-08-21 09:33:38
阅读次数:
159