- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 Thread详解四(线程池)
线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具。真正的线程池接口是ExecutorService。下面这张图完整描述了线程池的类体系结构。
2012-12-05 04:43:45 1673
原创 Thread详解三(高性能的同步)
1,java.util.concurrent.locksLock对象的作用和隐形锁synchronized作用类似。也是同一时间只能有一个线程获取锁。Lock对象同样支持wait/notify机制,它是通过Condition对象。Lock和隐形锁比较最大的好处在于可以再尝试获取一个锁的时候即时返回,tryLock方法。如果其他线程在获取锁之前发出了interrupt,lockInterru
2012-12-04 14:03:42 770
原创 Thread详解二(互斥和协作)
Java Monitor 从两个方面来支持线程之间的同步,即:互斥执行与协作。 Java 使用对象锁 ( 使用 synchronized 获得对象锁 ) 保证工作在共享的数据集上的线程互斥执行 , 使用 notify/notifyAll/wait 方法来协同不同线程之间的工作。这些方法在 Object 类上被定义,会被所有的 Java 对象自动继承。实质上,Java 的 Object 类本身就
2012-12-02 03:28:44 1263
原创 Thread详解一(interrupt)
1,在定义Thread的时候选择实现Runnable接口比继承Thead更灵活,因为java是单继承的嘛。2,setPriority()方法改变其优先权。3,setDaemon()方法讲线程设置为后台线程。该方法需要在start()方法之前调用。4,线程的状态(Thread.State,可以通过getState方法获得):1)、新状态:线程对象已经创建,还没有在其上调用start(
2012-12-02 01:34:36 4492
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人