易截截图软件、单文件、免安装、纯绿色、仅160KB

java多线程编程要点(三)

       在JDK1.5之前,对高质量Java多线程并发程序设计时,为防止程序崩掉等现象的出现,比如使用wait()、notify()和synchronized等,需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的危害等诸多因素,通常会采用一些较为复杂的安全策略,加重了程序员的开发负担。在JDK1.5出现之后,大牛Doug Lee编写了java.util.concurrent java并发工具包,开发者利用此包,可大大提高并发程序的开发效率,并且能有效防止资源竞争、状态一致和避免死锁。java.util.concurrent包分成了三个部分,分别是java.util.concurrent、java.util.concurrent.atomic和java.util.concurrent.locks。内容涵盖了并发集合类、线程池机制、同步互斥机制、线程安全的变量更新工具类、锁等常用工具。
1)    java.util.concurren:其主要的接口和类有Executor、Executors、ExecutorService、Callable、Future和BlockingQueue,这6个接口和类可如下理解:
       ﹒Executor:具体Runnable任务的执行者;
       ﹒Executors:提供了一系列工厂方法用于创先线程池,返回的线程池都实现了ExecutorService接口;
       ﹒ExecutorService:扩展了Executor并添加了一些生命周期管理的方法。一个ExecutorService的生命周期有三种状态:运行、关闭和终止。ExecutorService创建时处于运行状态,当调用ExecutorService.shutdown()后处于关闭状态,所有已添加的任务执行完毕后ExecutorService处于终止状态;
  ﹒Future:是与Runnable,Callable进行交互的接口,比如一个线程执行结束后取返回的结果等等,还提供了cancel终止线程;
       ﹒BlockingQueue:阻塞队列。
       表格所示为代码示例:
package com.thread.test.concurent;
 
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;
i


相关文档:

(转)Java学习书籍推荐

原帖地址: http://emy.javaeye.com/blog/191659
1. Java
语言基础
谈到Java
语言基础学习的书籍,大家肯定会推荐Bruce Eckel的《Thinking in Java
》。它是一本写的相当深刻的技术书籍,Java

言基础部分基本没有其它任何一本书可以超越它。该书的作者Bruce Eckel在网络上被称为天才的投机者,作者的《Thinking ......

Java如何操作Word, Excel, PDF文档?


Java如何操作Word, Excel, PDF文档?
http://www.sina.com.cn 2006年08月23日 14:55 太平洋电脑网







作者:盛忠良
 
  参考:
  http://danadler.com/jacob/
  http://jakarta.apache.org/poi/
  http://www.onjava.com/pub/a/onjava/2003/01/22/poi.html
  http://www.c ......

base64的java实现方法

package cn.eshore.mismp.sms.ws.send;
public class Base64 {
/**
* 将原始数据编码为base64编码
*/
static public char[] encode(byte[] data) {
char[] out = new char[((data.length + 2) / 3) * 4];
for (int i = 0, index = 0; i < data.length; i += 3, index += 4) {
boolean quad = false ......

Java集群之session共享解决方案

Java集群之session共享解决方案
来源:http://blog.csdn.net/crskyp/archive/2009/11/19/4836685.aspx
随着互联网的日益壮大,网站的pv和uv成线性或者指数倍的增加.单服务器单数据库早已经不能满足实际需求.比如像盛大,淘宝这样的大型网络公司,更是如此. 
    集群,也就是让一组计算机服务器协同工作 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号