随笔分类 - Java_Thread
摘要:1.一个多线程实例: 描述:某个火车售票系统,有多个窗口,但是票只在同一个系统中存有: 设计思路: 只存在一个系统: 设计细节: 使用单例设计模式确保多窗口公用一个对象, 使用Vector集合框架保证线程的并发的安全性; 多个窗口卖票,使用多线程模拟多个窗口,在run方法中采用组合的方式调用Syst
阅读全文
摘要:1. Java7中的HashMap(key,value均可以为空): 大方向上HashMap是一个数组,每个数组元素是一个单向链表。 上图中每个绿色的实体是嵌套类Entry的实例,Entry包含4个属性:key,value,hash,和单链表的next。 capacity:数组的容量,始终保持在2^
阅读全文
摘要:线程池:由于在平常的线程使用中,会频繁的创建和销毁线程,因为我们之前所创建的是单个的线程,使用完毕后就自动销毁,这样会大大的降低系统的效率,因为创建和销毁线程都需要时间。 所以急需一种方法,在线程执行完毕任务后,并不会立即的销毁,而是还可以继续执行下一个任务。Java中线程池就实现了这种想法。 1.
阅读全文
摘要:1.首先做一个测试:i++。输出结果为10,因为在底层实现的时候会引入一个临时变量具体为: 所以i++就是一个非原子性操作,采用多线程再次测试:测试结果中会因为i++的非原子性操作带来读写不一致问题。比如:1,3,2,2,4,5,6,7,8,9序列的出现。两个2的出现就说明了,两个线程在同时从主存中
阅读全文
摘要:1.Callable<V> :接口,多线程的一种实现方式,实现类重写方法,重写的call()方法有返回值或者抛出异常,需要配合着FutureTask类(实现了Runnable接口)使用: 2.Semaphore类:信号量,直接new对象,semaphore.acquire():获取信号量,如果获取失
阅读全文
摘要:1. Java中对象对wait(),和notify()方法的调用前提是: 当前线程必须获得该对象的锁(Monitor),否则会抛出IllegalMonitorStateException,且这两个方法必须在同步代码块中调用。wait():让访问当前对象的线程阻塞。 2.Synchronized关键字
阅读全文
摘要:public class Lambda_Test { public static void main(String[] args) { //匿名内部类 new Thread(new Runnable() { @Override public void run() { Syst...
阅读全文
摘要:一,继承Thread类,实现run()方法: 二.实现Runnable接口,重写run()方法。 三,实现Callable接口 总结:在继承Thread类,和实现Runnable接口中推荐使用实现Runnable接口。因为在Java中类只能单继承,所以采用实现Runnable接口更加灵活方便。而第三
阅读全文

浙公网安备 33010602011771号