Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
编程语言 时间:
2014-11-26 16:10:05
阅读次数:
278
Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
编程语言 时间:
2014-11-26 16:06:23
阅读次数:
308
Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
编程语言 时间:
2014-11-25 18:14:38
阅读次数:
305
一、简介 在4.0之前,多线程只能用Thread或者ThreadPool,而4.0下提供了功能强大的Task处理方式,这样免去了程序员自己维护线程池,而且可以申请取消线程等。。。所以本文主要描述Task的特性。二、Task的优点 操作系统自身可以实现线程,并且提供了非托管的API来创建与管理这些.....
分类:
编程语言 时间:
2014-11-25 17:52:09
阅读次数:
791
托管线程处理的最佳做法MSDN多线程编程需要在编程时倍加注意。对于多数任务,通过将执行请求以线程池线程的方式排队,可以降低复杂性。本主题将探讨更复杂的情形,比如协调多个线程的工作或处理造成阻止的线程。死锁和争用条件多线程编程解决了吞吐量和响应性问题,但引入此功能会带来新的问题:死锁和争用条件。死锁当...
分类:
编程语言 时间:
2014-11-25 10:38:22
阅读次数:
253
这次没有使用 有名内部类 将程序控制数据、执行程序都独立出来了
5条线程按照给定规律轮流打印 线程调度 线程池 synchronized wait notify
代码如下:
1.独立出来的内部控制数据类
package com.lovo.homework02;
/**
* 类:将内部数据独立出来 方便修改和控制
* @author Abe
*
*/
public class ...
分类:
编程语言 时间:
2014-11-24 10:15:19
阅读次数:
211
概念:
java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。
单例模式有一下特点:
1、单例类只能有一个实例。
2、单例类必须自己自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、...
分类:
编程语言 时间:
2014-11-23 13:10:44
阅读次数:
233
1.两个线程 一个打印A 一个打印B 另两个线程轮流进行打印工作
多线程初级应用 线程调度 线程池(预先建立N个线程,需要的程序直接调用,执行完毕后归还回线程池,典型的以空间换时间 synchronized wait notify 内部类使用
package com.lovo;
import java.util.concurrent.ExecutorService;
import j...
分类:
编程语言 时间:
2014-11-23 09:20:55
阅读次数:
233
1 package com.lovo.threadpool; 2 3 public class ThreadOfPool extends Thread{ 4 private Runnable task = null; 5 private ThreadPool threadPool...
分类:
编程语言 时间:
2014-11-22 15:57:57
阅读次数:
291
Java主线程等待所有子线程执行完毕在执行,其实在我们的工作中经常的用到,比如说主线程要返回一个响应用户的值,但这个值得赋值过程是由过个子线程来完成的(模拟一个实际开发的情景),所以主线程必须等待子线程执行完毕,再响应用户;否则,响应用户的是一个无意义的值。
那么如何确保所有的子线程执行完毕了。一般的有如下方法:
1 让主线程等待,或着睡眠几分钟。用Thread.sleep()或者TimeUnit.SECONDS.sleep(5);
2 使用Thread的join()等待所有的子线程执行完毕,...
分类:
编程语言 时间:
2014-11-22 00:50:19
阅读次数:
257