java 線程池 java多線程ExecutorService線程數(shù)量?
java多線程ExecutorService線程數(shù)量?添加了一個(gè)新的executors工廠類來(lái)生成線程池,如以下方法-public static executors service newfixedt
java多線程ExecutorService線程數(shù)量?
添加了一個(gè)新的executors工廠類來(lái)生成線程池,如以下方法
-public static executors service newfixedthreadpool(int nthreads)
-public static executors service newsinglethreadexecutor()這些方法的返回值是executorservice object,它表示線程池,可以執(zhí)行由可運(yùn)行對(duì)象或可調(diào)用對(duì)象表示的線程。它提供以下方法:
-未來(lái)<?> submit(runnable task)
-<T> future<T> submit(callable<T>解決線程返回值問題最理想的方法是逐個(gè)線程通知調(diào)度線程。調(diào)度線程可以是主線程或特殊的調(diào)度線程。每當(dāng)任務(wù)線程完成自己的工作時(shí),它都會(huì)通知調(diào)度線程獲取結(jié)果。只有這樣,才能充分發(fā)揮多線程的優(yōu)勢(shì),而不是坐以待斃。
如果您認(rèn)為主線程是一個(gè)調(diào)度線程,并且您的主線程有一個(gè)消息循環(huán),那么使用消息是一個(gè)很好的通知方式。
任務(wù)線程完成工作后,會(huì)向主線程發(fā)送一條消息。在消息中,可以將任務(wù)線程本身(線程類)發(fā)送到主線程,然后從主線程中提取線程類,得到任務(wù)線程的處理結(jié)果。