由于并发访问,我遇到了数据结构损坏的问题。我试图排除可能的原因,但我不确定Spring TransactionTemplate
是如何工作的。
有多个线程将独立列表传递给CallbackHandler
的构造函数。然后将此CallbackHandler
传递给TransactionTemplate
的execute方法。在任何地方都没有同步块。
在执行方法完成之前和之后,在CallbackHandler
和调用线程中访问该列表。据我所知,执行 DOES NOT 启动一个新的Thread
。因此,这应该是安全的。
每个线程都创建自己的独立列表CallbackHandler
,只有TransactionTemplate
对所有人都相同。
或者Spring会在某个时刻创建一些新线程吗?
答案 0 :(得分:4)