Java 同时启动和终止线程
我想同时启动两个线程t1和t2,每个线程调用Java 同时启动和终止线程,java,multithreading,Java,Multithreading,我想同时启动两个线程t1和t2,每个线程调用System.out.println()打印到控制台,然后同时完成 请告知如何通过executor框架实现这一点。我正试图在executor框架本身的帮助下完成它 您可以使用2countdownlockes或CyclicBarrier来执行此操作。例如: final CountDownLatch start = new CountDownLatch(2); final CountDownLatch end = new CountDownLatch(2)
System.out.println()
打印到控制台,然后同时完成
请告知如何通过executor框架实现这一点。我正试图在executor框架本身的帮助下完成它 您可以使用2
countdownlock
es或CyclicBarrier
来执行此操作。例如:
final CountDownLatch start = new CountDownLatch(2);
final CountDownLatch end = new CountDownLatch(2);
Runnable r1 = new Runnable() {
@Override
public void run() {
try {
start.countDown();
start.await();
System.out.println("In 1");
end.countDown();
end.await();
} catch (InterruptedException ex) {
Thread.currentThread().interrupt(); //restore interruption status
}
}
};
Runnable r2 = new Runnable() {
@Override
public void run() {
try {
start.countDown();
start.await();
System.out.println("In 2");
end.countDown();
end.await();
} catch (InterruptedException ex) {
Thread.currentThread().interrupt(); //restore interruption status
}
}
};
您可以使用2
countdownlock
es或CyclicBarrier
来执行此操作。例如:
final CountDownLatch start = new CountDownLatch(2);
final CountDownLatch end = new CountDownLatch(2);
Runnable r1 = new Runnable() {
@Override
public void run() {
try {
start.countDown();
start.await();
System.out.println("In 1");
end.countDown();
end.await();
} catch (InterruptedException ex) {
Thread.currentThread().interrupt(); //restore interruption status
}
}
};
Runnable r2 = new Runnable() {
@Override
public void run() {
try {
start.countDown();
start.await();
System.out.println("In 2");
end.countDown();
end.await();
} catch (InterruptedException ex) {
Thread.currentThread().interrupt(); //restore interruption status
}
}
};
+我是个好人。请考虑总是用你的<代码>中断中断>代码>(例如退出或重新中断)来做一些事情,以免忘记和忘记心理。是的,绝对是OP需要对
InterruptedException
执行一些操作,很可能只是重置中断状态并退出。我是这样编辑的。@assylias Thanx dude,请告诉我如何通过executor框架实现同样的功能@我不知道你在问什么。只需将runnables提交给你的遗嘱执行人…+1个好人。请考虑总是用你的<代码>中断中断>代码>(例如退出或重新中断)来做一些事情,以免忘记和忘记心理。是的,绝对是OP需要对InterruptedException
执行一些操作,很可能只是重置中断状态并退出。我是这样编辑的。@assylias Thanx dude,请告诉我如何通过executor框架实现同样的功能@我不知道你在问什么。只需将runnables提交给你的执行人……你能编辑你的帖子来解释你为什么要这么做吗?这是家庭作业问题还是什么?你试过什么了吗?如果是的话,让我们看看!你能编辑你的帖子来解释你为什么要这么做吗?这是家庭作业问题还是什么?你试过什么了吗?如果是的话,让我们看看!