public void createThread(){
for(int i=o to 100000){
method();
}
}
public void method(){
ExecutersService threadpool = Executers.newFixedThreadPool(1);
threadpool.execute(new Runnable(){
void run(){
print(Thread.currentThread().getName());
}
threadpool.shutdown();
});
}
输出:pool-2=线程-1 pool-3=线程-1,pool-4=线程-1.............
我想要池-2=线程-1池-2=线程-1池-2=线程-1................
Threadpool不能从method()放到外部,每次都需要创建新的Threadpool。我可以完全终止线程池吗?
有什么需要帮忙的吗
如果要使用相同的线程池,要么将其作为变量传递,要么使其成为类的属性
class Test {
ExecutorService threadpool = Executors.newFixedThreadPool(1);
public void createThread() {
for (int i = 0; i < 1000; ++i) {
method();
}
shutdownAndAwaitTermination(threadpool, 5, TimeUnit.MILLISECONDS);
// or MoreExecutors.shutdownAndAwaitTermination(threadPool, 5,
// TimeUnit.MILLISECONDS)
}
public void method() {
threadpool.execute(new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
}
});
}
// Copied from Guava Library
public void shutdownAndAwaitTermination(ExecutorService service, long timeout, TimeUnit unit) {
long halfTimeoutNanos = unit.toNanos(timeout) / 2;
service.shutdown();
try {
if (!service.awaitTermination(halfTimeoutNanos, TimeUnit.NANOSECONDS)) {
service.shutdownNow();
service.awaitTermination(halfTimeoutNanos, TimeUnit.NANOSECONDS);
}
} catch (InterruptedException ie) {
Thread.currentThread().interrupt();
service.shutdownNow();
}
}
}
问题内容: 嗨, 我正在尝试编写一个递归函数来计算Java中字符串的长度, 我知道已经存在str.length()函数,但是问题语句想要实现一个递归函数 在C编程语言中,终止字符为“ \ 0”,我只想知道如何知道字符串是否以Java结尾 当我在测试字符串中输入“ \ n”时,我的程序运行良好。请告诉我。谢谢! 输出: 问题答案: 请记住,此代码效率很低,但是它以递归方式计算String的长度。
问题内容: 我在我的一个Java应用程序中使用Socket通信。据我所知,如果程序遇到任何异常终止,侦听端口不会关闭,并且由于报告“端口已打开。”而无法重新启动该程序。处理这个问题?处理此问题的一般方法是什么? 问题答案: 听起来您的程序正在套接字上侦听。通常,当程序退出时,操作系统会关闭所有可能打开的套接字(包括侦听套接字)。但是,对于侦听套接字,操作系统通常在程序退出后将端口保留一段时间(几分
我有一个应用Gradle插件的项目。我的问题是,即使底层进程终止,它也不会终止:如果我运行这个: 带有仅包含系统的主系统。退出(0) 程序终止,但Gradle没有终止。当底层Java程序终止时,如何强制Gradle进程终止? 编辑:我知道我可以调用gradle——stop,但这需要另一个进程,这不是一个选项。
我一直在玩流,然后我注意到当我执行以下操作时,它不会在控制台中产生输出: 我认为这是因为是一个非终止流方法,应该使用而不是来终止流并生成结果: 然而,是否有一种方法可以‘提前’终止流,使用一个自定义的终止方法(函数接口),它除了终止流之外什么都不做?..有没有一个适当的方法来利用Java现有的东西来做到这一点? 我知道我可以这样做: 但那感觉很浪费。
本文向大家介绍如何终止WebWork?相关面试题,主要包含被问及如何终止WebWork?时的应答技巧和注意事项,需要的朋友参考一下 Web Worker 使用教程
问题内容: 我想在finally块中关闭流,但是它抛出一个,因此看来我必须在块中嵌套另一个块才能关闭流。这是正确的方法吗?似乎有点笨拙。 这是代码: 问题答案: 似乎有点笨拙。 它是。至少java7尝试使用资源可以解决该问题。 在java7之前,您可以创建一个吞咽它的函数: 或将try …最终放入try catch中: 它比较冗长,并且finally中的异常会在try中隐藏一个,但从语义上讲它更接