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

Java同步代码转异步代码

Java同步代码转异步代码
Kagula
2009-11-18
摘要
Thread   Thread Group
概要
   利用Java源码,介绍同步代码转异步代码框架的使用,下半部份附框架源代码,阅读本文之前可以参考《Java多线程_编程模型研究》http://blog.csdn.net/lee353086/archive/2008/01/10/2033587.aspx
 
正文
TestThreads.java源码 用来示范异步调用
 import kagula.multithread.MsgManagement;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class testThreads {
private static Log log = LogFactory.getLog(testThreads.class);

static public void main(String args[])
{
log.debug("-Test thread.begin!");

try
{
Object lockMain=new Object(); //用来锁住主线程,可以用来等待branch thread返回运算结果。
MsgManagement mm=new MsgManagement("MsgProc1",lockMain); //MsgManagement的实例化
String sTN =mm.invoke("t_main",new Class[] {String.class},new Object[] {new String("FirstT")});
String sTN2 =mm.invoke("t_main",new Class[] {String.class},new Object[] {new String("SecondT")});

log.debug("sTN="+sTN+" sTN2="+sTN2);

if(mm.activeCount()>0) {
mm.setMaxPriority(Thread.MAX_PRIORITY);

synchronized(lockMain)
{
lockMain.wait(100);
}
mm.interrupt();
}

log.debug("mm.getResult(sTN) "+mm.getResult(sTN));
log.debug("mm.getResult(sTN2) "+mm.getResult(sTN2));
}catch(Exception ex)
{
ex.printStackTrace();
}

log.debug("-Test thread.end!");
}
}
 
 
MsgManagement.java  Original Thread.java源码 ,是异步框架
 package kagula.multithread;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* 线程管理器
*
* Requirement: JDK1.6.x or above
*
* @author Jun Li
*
*/
public class MsgManagement extends ThreadGroup{
protected static Log log = LogFactory.getLog(MsgManagement


相关文档:

Java NIO API详解

 
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......

ext2.0+java 文件上传


文件上传其实是一个很基本的页面操作,以前也做过。在jsp+servlet时,关键点是只要指定jsp用于提交上传文件资源的form的enctype属性为multipart/form- data即可。这个属性 其实是设置了提交的内容是以数据流的方式提交给servlet的。当然也包含了文件的流,这样在servlet里利用common- fileupload.jar里的接口方法,解析这 ......

java中float/double浮点数的计算失精度问题

 java中浮点数的计算
今天在数值计算时碰到一个问题.程序如下:
  double a = (3.3-2.4)/0.1;
  System.out.println(a);
你可能认为结果很简单,不就是9嘛,是事实上,结果为:8.999999998,为什么呢?我翻阅了一些资料,终于找出了原因.
为什么浮点数会丢失精度? 
十进制数的二进制表示可能不够精确
......

基于Java的Web应用开发规范

 1 前言
 为了使软件开发过程有章可循,保证软件质量,加强开发管理。
2 开发管理
 项目进度周报表格如下:
 项目编号:
 汇报人:
 汇报日期:
 项目进度详细描述:
 其他问题:
3 项目周期
 司项目开发周期分为以下几个步骤:
 步骤 说明 参与角色 生成文档或程序(打*号为可选)
 可行 ......

Java操作Microsoft Word之jacob (2)

 这里有一个MSWordManager 类,是jacob官方发布的工具类,里面有大多数Java操作MS Office的工具。
   
 
package com.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
im ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号