Spring 事务在多线程环境下的传播
有时候需要使用多线程来提高对于CPU,尤其是多核CPU的利用率,来提高性能。Spring的bean一般都是无状态的,单例的。所以也就是线程安全的。那么对于声明式的事务,在多线程环境下又是怎么处理的呢?
看看下面的例子:
ClassA.java@Transactionalpublic void methodA(){ ExecutorService executorService = Executors.newFixedThreadPool(4); executorService.execute(new Runnable() { public void run() { classB.methodB(); }});}ClassB.java@Transactionalpublic void methodB(){ updateDB();}