【发布时间】:2013-07-15 15:48:33
【问题描述】:
我目前正在开发一个 osgi 框架,并且遇到了一个查询点:
当您实例化一个类的多个实例时(例如通过工厂),它将创建任务并将它们提供给源自同一个线程池的工作线程,我是否需要从这些实例调用该线程池 Threadsafe ?
编辑这是我的线程池代码:
公共类 JournalThreadPool{ 私有静态 ExecutorService 执行器; 私人日记线程池(){ } 公共静态 ExecutorService getUniqueInstance(){ 如果(执行者 == 空) executor = Executors.newCachedThreadPool(); 返回执行者; } }我有多个线程创建一个任务,并将任务分配给这个 ThreadPool 中的一个线程,如下所示:
JournalThreadPool.getUniqueInstance().execute(RunnableTask);这会产生冲突吗?例如,当 2 个线程尝试同时执行它们的任务时?
【问题讨论】:
-
评论未知代码的线程安全是不可能的。向我们展示您的代码。
-
我还没有写任何代码,我基本上需要知道是否需要同步调用: ExecutorService.execute(workerThread) 当这个调用将来自多个实例时(以多线程方式)。
标签: java thread-safety