易截截图软件、单文件、免安装、纯绿色、仅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入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

Java HashMap和TreeMap的排序问题总结

Map存储的是key->value的值对,key的值是唯一的,而value的值可以重复。通常使用的是HashMap或TreeMap,如果考虑性能,使用HashMap。TreeMap使用红黑树实现,保留有key值顺序性,会自动按照key值排序。
默认是按照key值的升序排序,key值必须实现 Comparator接口。如果希望按找一定规则排序,则需要重新定义compare函数 ......

Solaris下java package的编译与运行

这几天遇到了java的package问题(这种问题只是在cmd命令行模式下会遇到,如果用eclipse就不会有这种问题),把java中的package编译运行的问题总结一下,作为备忘。
    首先,如果你有两个类:
   (1)A.java
        import edu.ustc.*;
  &n ......

基于Java的Web应用开发规范

 1 前言
 为了使软件开发过程有章可循,保证软件质量,加强开发管理。
2 开发管理
 项目进度周报表格如下:
 项目编号:
 汇报人:
 汇报日期:
 项目进度详细描述:
 其他问题:
3 项目周期
 司项目开发周期分为以下几个步骤:
 步骤 说明 参与角色 生成文档或程序(打*号为可选)
 可行 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号