Java ExecutorService提供了哪些方法提交線程任務到線程池?

阿裏雲問答 2022-01-07 17:26:04 阅读数:599

java executorservice 提供 方法 提交

Java ExecutorService提供了哪些方法提交線程任務到線程池?




采納答案1:

"ExecutorService代錶盡快執行線程的線程池(只要線程池中有空閑線程,就立即執行線程任務),程序只要將一個Runnable對象或Callable對象(代錶線程任務)提交給該線程池,該線程池就會盡快執行該任務。ExecutorService裏提供了如下3個方法。 Future<?> submit(Runnable task):將一個Runnable對象提交給指定的線程池,線程池將在有空閑線程時執行Runnable對象代錶的任務。其中Future對象代錶Runnable任務的返回值——但run()方法沒有返回值,所以Future對象將在run()方法執行結束後返回null。但可以調用Future的isDone()、isCancelled()方法來獲得Runnable對象的執行狀態。 Future submit(Runnable task,T result):將一個Runnable對象提交給指定的線程池,線程池將在有空閑線程時執行Runnable對象代錶的任務。其中result顯式指定線程執行結束後的返回值,所以Future對象將在run()方法執行結束後返回result。 Future submit(Callable task):將一個Callable對象提交給指定的線程池,線程池將在有空閑線程時執行Callable對象代錶的任務。其中Future代錶Callable對象裏call()方法的返回值。"


版权声明:本文为[阿裏雲問答]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201071726042906.html