2011-12-09 7 views
5

ように私は、スレッド間で共有することができるExecutorServiceのを含むクラスがある:Java:ExecutorServiceを同期する必要はありますか?

class MyExecutor { 
    ExecutorService e = Executors.newSingleThreadExecutor(); 
    .... 
    .... 
    public void add(Runnable r) { 
     e.executre(r); 
    } 
} 

add方法はdifferensスレッドから呼び出すことができるのでadd方法でExecutorServiceのオブジェクトを同期することが必要であるか、またはExecutorServiceスレッドセーフ?

+1

可能な複製http://stackoverflow.com/questions/1702386/is-threadpoolexecutor-thread-safe? – THelper

+0

ああ、ありがとう!それは助けになった! – Rox

答えて

4

ExecutorServiceは、スレッドセーフなキューを使用する必要があります(デフォルトで実行します)。これがすべて必要です。

2

いいえ、add()メソッドへの呼び出しを同期させる必要はありません。

関連する問題