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

   觉得这篇文章比较有用就转了。。。
webservice
    在网上看了一下各类的教程,java和.net两种语言生成的webservice之间的互通始终是一个问题,想找一种java调用.net写的webservice代理方法不容易,结果摸索中jboss-ide这个Eclipse插件解决了问题.
    当然首先是安装jboss-ide ......

JAVA 导出CSV代码

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import au.com.bytecode.opencsv.CSVWriter;
public class CsvDemo {
    
    public static void main(String[] args) throws IOException {
        
     ......

Java操作Microsoft Word之jacob (1)

  现在我们一起来看看,用Java如何操作Microsoft Word。
    jacob,官网是http://danadler.com/jacob 这是一个开源的工具。最新版本1.7
    官方的解释是:The JACOB Project: A JAva-COM Bridge
    这是官方对下载文件的说明:
    jacob.jar: a ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号