ForkJoinPool的异步模式是什么意思?Javadoc提到它使队列(它是每线程队列吗?)FIFO而不是LIFO.这在实践中意味着什么?
当我等待 Scala Future的结果时,它是否更像接收,或者像反应,即是否阻塞线程,或者如果可用,则在结果后安排继续?
在标准EJB 3中,当注入实体管理器时,持久性单元(指数据源)被硬编码到注释中:(或者xml文件)
@PersistenceContext(unitName = "myunit")
private EntityManager entityManager;
Run Code Online (Sandbox Code Playgroud)
有没有办法使用实体管理器,但在运行时按名称选择数据源?
我主要是在线程池上运行的CPU密集型操作.然而,操作具有一定量的等待外部事件,这些事件不会在时间上均匀地发生.因为在Java中,据我所知,没有一个线程池实现可以根据观察到的任务吞吐量自动调整其线程数(如在Microsoft的CLR 4中),至少有一种方法可以手动告诉线程池到阻塞操作开始时增加其大小,结束时减小?
例如,对于8个核心,池大小为8.如果操作是100%CPU绑定,则只使用此固定池.如果有一些阻塞操作,应该可以这样做:
pool.increase();
waitForSpecialKeyPress();
pool.decrease();
Run Code Online (Sandbox Code Playgroud)
以下是在Microsoft的C++异步库中执行的操作:使用Oversubscription来抵消延迟
java ×2
threadpool ×2
actor ×1
ejb-3.0 ×1
fork-join ×1
forkjoinpool ×1
future ×1
jpa ×1
persistence ×1
promise ×1
scala ×1