spring boot中如果试用多线程,这些线程去执行sql的时候是不是一个一个线程轮流的?
因为我在执行一段代码的时候发现
[pool-5-thread-2] : batch insert size :488
[pool-5-thread-4] : time: 14512 seconds.
[pool-5-thread-4] : batch insert size :1084
[pool-5-thread-1] : time: 20217 seconds.
[pool-5-thread-1] : batch insert size :2030
[pool-5-thread-3] : time: 27216 seconds.
[pool-5-thread-3] : batch insert size :1034
这里time时间是执行sql所用时间,time是累加的。如果每条线程执行sql不是轮流来的,那么这个time不应该是累加的啊
回答
你的insert语句是插一张表的么?如果是一张表,数据库的锁机制啊,只能轮流的插入
看你 time 怎么计算的,是 thread local 的,thread share 变量了。