【发布时间】:2015-07-17 06:54:51
【问题描述】:
如果一个线程在同一时间多次执行会发生什么。假设我有类似的线程
private Runnable mySampleThread() {
return new Runnable() {
@Override
public void run() {
//something is going on here.
}
};
}
我创建了一个固定线程池为 10 的ExecutorService。如果我在这个ExecutorService 中执行mySampleThread 10 次会发生什么。
像下面这样,
ExecutorService mySampleExecutor = Executors.newFixedThreadPool(10);
while (i <= 10) {
mySampleExecutor.execute(mySampleThread);
i++;
}
【问题讨论】:
-
你试过了吗?怎么了?先试试吧
-
Runnable不是Thread。它只是一个带有一种方法的普通 Java 对象。所发生的只是这个方法被执行了不止一次。 -
“如果 .. 会发生什么”有点宽泛。缩小范围。提及您期望什么,您不期望什么以及实际发生的事情(通过首先运行您的代码)。您似乎在暗示从同一个 Runnable 对象产生多个线程的效果。
标签: java multithreading executorservice