1.java多线程共享变量
可以通过原子变量AtomicLong操作,还有AtomicInteger等
还可以通过ThreadLocal<Integer> data=new ThreadLocal<Integer>(); 创建变量副本
2.spring的异步操作
@Async
@Async public void doTaskThree() throws Exception { // 同上内容,省略 }
<context:annotation-config /> <!--扫描注解 --> <context:component-scan base-package="com.tf" /> <!-- 支持异步方法执行 --> <task:annotation-driven />
springBoot的异步操作
@Async public void doTaskThree() throws Exception { // 同上内容,省略 }
@SpringBootApplication @EnableAsync public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }@Async所修饰的函数不要定义为static类型,这样异步调用不会生效(springBoot)