小编Oli*_*Oli的帖子

使用JRE 1.6_45杀死线程不适用于WindowsXP

我有一个应该与SWT GUI线程同步运行的线程,但如果在10秒后没有完成,则超时会终止该线程.编辑:我需要保持与Java 1.4兼容.

线:

private boolean isFinished;
    (...)
    isFinished = false;
    Thread t = new Thread ("getShellsThread") {
        public void run() {
            try {
            logger.debug("aquirerootcont SWT entered - " + Thread.currentThread().toString());
            (...)
            } finally {                      
              isFinished = true;
              logger.debug ("hasShells is Finished!");
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

超时代码:

    long startTime = System.currentTimeMillis();
    long timeWaited;
    ((Display)displays.get(i)).asyncExec (t);

    while(!isFinished){
        timeWaited = System.currentTimeMillis() - startTime;
        logger.debug("aquireRootContainer: timeWaited: " + timeWaited);
        if (timeWaited > 1000) {
            logger.debug(t +" Name: "  + t.getName()+" took to long and …
Run Code Online (Sandbox Code Playgroud)

java legacy multithreading rmi

0
推荐指数
1
解决办法
120
查看次数

标签 统计

java ×1

legacy ×1

multithreading ×1

rmi ×1