1. 平时在spring框架中如何使用多线程
Spring aop 依赖注入的就是单例对象,我们在使用的时候如果有多个相同处理且不怎么耗时的情况下一般会采用for循环直接执行,这样的情况下即使有事务管理也不会影响业务执行下去;但是,大多数的应用比如:系统与系统之间的交互就比较耗时了,此时使用for循环执行业务就不可取了,于是我们想用线程来解决这个问题。
另外,附带说明一下:如果是在Spring提供的@Test下测试:如果有多线程处理,需要调用Thread.sleep(3000);实现线程等待,这也是测试多线程模式下所必须的。如果不加线程休眠,不等待多线程执行完毕,很有可能测不出来多线程调用的处理。
2. 如何实现springMVC的多线程并发
实现springMVC的多线程并发:
1、ThreadLocal为解决多线程程序的并发问题提供了一种新的思路
2、对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式。前者仅提供一份变量,让不同的线程排队访问,而后者为每一个线程都提供了一份变量,因此可以同时访问而互不影响。
3. java 多线程 写入数据库 数据池
你这个首先得分开。
第一部分:你有很多线程在往数据池里面写入数据。那么,你的线程只管写数据,不用理会其他的数据。
第二部分:你的另外的线程(这里可以用spring的job定时器启动),这部分只管往数据库写入数据,至于写入的条件,你可以判断数据池的数据是否达到写入的标准。这里的线程可以配置为启动一次就一直运行,或者是隔多少秒继续运行。这样可以提高效率。
第三部分:数据池,这里的数据池一定要第一部分和第二部分的线程都能够访问,并且是唯一的。你可以写一个公用的类来进行控制。
大致就是这样的。