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

Java 并发学习


一、创建任务
 
任务可以理解为一段独立执行的代码,它完成一定的功能。
在Java 5及以上版本中不仅可以利用 Runnable接口,还可以利用Callable接口。
    两种任务的区别:Runnable 的run()方法完成的任务是没有返回值的 - void
    而Callable 的call()方法完成的任务是有返回值的 - 返回值 有接口的泛型<V> 来制定
 
二、执行任务
 
通过java.util.concurrent.ExecutorService接口对象来执行任务,
这个接口对象由工具类java.util.concurrent.Executors的静态方法来创建。
 
相关类及接口说明:
Executors       提供建立线程池或线程工厂的方法.
ExecutorService           提供了管理终止的方法,以及可为跟踪一个或多个异步任务执行状况而生成 Future 的方法。
Executor                可以简单理解为一个线程的执行者,是Executors 的上一级接口。
Callable         线程要执行而去实现的接口
 
Future                  表示异步计算的结果,对执行的线程的状态检查,可以获得执行结果.
下面以一个例子来说明: 
 
public class CallableDemo {
public static void main(String[] args) {
/**
* Executors.newFixedThreadPool(5)创建一个线程池,
* 这个线程池中维护 5 个线程的执行与销毁工作,并将维护的工作交给 ExecutorService 去处理
*/
ExecutorService service = Executors.newFixedThreadPool(5);
// ExecutorService service = Executors.newCachedThreadPool();
/**
* 记录线程的 任务(这里由实现了Callable接口 的类来执行)的返回接口
*/
List<Future<String>> resultList = new ArrayList<Future<String>>();
/**
* 创建 10个任务
*/
for (int i = 0; i < 10; i++) {
/**
* ExecutorService 的 submit方法 来维护任务(这个任务不是线程,是Callable,但是和线程的工作原理是一样的)的运行状态
*/
Future<String> future = service.submit(new


相关文档:

Java软件架构师所要需的东西

作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。
一、Java编程入门类
对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这 ......

java 代码实现平衡二叉树

/**
 * 平衡二叉搜索(排序)树
 *
 * 平衡二叉搜索树双称为AVL树,它也是一棵二叉搜索树,是对二叉搜索树的一种改进,或都是具有下列性质的二叉树:它
 * 的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。
 *
 * 平衡因子(Balance Factor,BF)定义为 ......

Java中ReadOnly的集合

今天在CSDN逛论坛的时候无意中发现有人问在Java中是否有ReadOnly操作方式的集合,说实话在以往开发中各种集合用的很多,但是这个问题还真没有注意过。去Java的官方API文档查了一下,Collections中还真有这么个方法支持,方法原型如下:
unmodifiableCollection
public static <T> Collection<T> unmodifiable ......

java web 学习之路

Java分成J2ME(移动应用开发),J2SE(桌面应用开发),J2EE(Web企业级应用),所以Java并不是单机版的,只是面向对象语言。建议如果学习Java体系的话可以这样去学习:
 
*第一阶段:Java基础,包括Java语法,面向对象特征,常见API,集合框架;
 
*第二阶段:Java界面编程,包括AWT,事件机制,SWING,这个部 ......

C++调用JAVA方法详解

http://public0821.javaeye.com/blog/423941
C++调用JAVA主要用到了SUN公司的JNI技术, JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。相关资料见http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/jniTOC.htm ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号