Java中使用信号量——Semaphore
主线程中:
InitThread initThread=new InitThread(new Semaphore(0));//初始化一个子线程,传一个初值为0的信号量给它
Display.getDefault().asyncExec(initThread);
try {//此处会挂起,直到子线程完成工作,修改了信号量的值,主线程才会继续
initThread.getSemaphore().acquire();
} catch (InterruptedException e1) {
insertConsoleText("数据获取失败……\n");
}
子线程
class InitThread implements Runnable{
private Semaphore semaphore;
public InitThread(Semaphore semaphore){
this.semaphore=semaphore;
}
public Semaphore getSemaphore() {
return semaphore;
}
@SuppressWarnings("unchecked")
public void run() {
dataDos= (List<DataObject>)gui.getDataTableViewer().getInput();
anaDos=(List<DataObject>)gui.getMetaTableViews().get(viewerName).getInput();
excelCode=gui.getExcelCode().getText();
semaphore.release();
}
}
相关文档:
ORACLE的学习已经告一段茖,今天已经开始HIBERNATE的学习,总体感觉挺良好的,虽然很多的知识不能记住,但是在使用的时候能够迅速的找对方法来解决相应的问题,只要勤加练习,就可以记住。只不过,时间有珢,HIBERNATE的课程也只有三天的时间,所以在这期间我的任务是尽量吸引,在花放假的时候来复习 ......
英文原文地址:
http://www.onjava.com/pub/a/onjava/2005/07/06/generics.html
中文地址:
http://www.matrix.org.cn/resource/article/43/43634_java_generics.html
关键词: java generics java5
摘要
泛型是J2SE 5.0最重要的特性。他们让你写一个type(类或接口)和创建一个 ......
package com.test.For_Each;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ForTest
{
public static void main(String args[])
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};
/**
* 新式写法
*/
f ......
Java程序员的推荐阅读书籍》
JavaEye (http://www.javaeye.com)
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。
一、Java编程入门类 ......