我是并发编程的新手,并且一直在处理具有要处理的项目队列的代码,这被传递给一些工作线程,由用户指定的数量。目前我只是尝试用两个工作线程加上主线程来完成它。
private static class workerThread extends Thread {
workerThread(){
super();
}
public void run(){
while (!workQueue.isEmpty()) {
String x = workQueue.remove();
//System.out.println("work queue size: " + workQueue.size());
Vector<String> list2 = new Vector<String>((Vector) table.get(x));
list2 = process(x, list2);
//System.out.println(list2 + "list2");
table.put(x, list2);
//System.out.println(x + "key" + "value" + vvv);
}
}
那是线程工作线程类,我试图通过创建两个新线程来调用它:
workerThread wt = new workerThread();
workerThread wt2 = new workerThread();
wt.start();
wt2.start();
try {
wt.join();
wt2.join();
} catch (InterruptedException ex) {
Logger.getLogger(includeCrawler.class.getName()).log(Level.SEVERE, null, ex);
}
我不确定这是否正确,或者由于等待加入而有什么好处?谢谢你的帮助。