自己编写redistemplate的bean,启动的时候自动装配
异步就是在当前线程的后面再创建一个异步线程(不管他是多核:并发,还是单核:并发),应为不管是单核还是多核都可以实现多线程,无非就是一个是真的并行,一个是时间片轮转。
但是!!!不管是单核还是多核,如果线程数最大只有一个的话,异步操作就没用(还是在当前的线程里串行执行)
比如昨天学的CompletableFuture就是靠异步。
线程不安全还是因为多线程同时对一个资源的利用,解决:
- 使用 synchronized 关键字
- 使用 ReentrantLock
- 使用原子类
- 使用 volatile 关键字
- 使用线程局部变量(ThreadLocal)
- 避免共享资源 :在设计时尽量避免多个线程访问共享资源,可以将数据封装在每个线程内部,或者使用不可变对象,从根本上避免线程安全问题。
@annotation(com.github.paicoding.forum.core.dal.DsAno):表示拦截所有使用了 com.github.paicoding.forum.core.dal.DsAno 注解的方法。也就是说,只要某个方法被 DsAno 注解标记,该方法就会被 AOP 拦截。
@within(com.github.paicoding.forum.core.dal.DsAno):表示拦截所有类上使用了 com.github.paicoding.forum.core.dal.DsAno 注解的类中的所有方法。即如果一个类被 DsAno 注解标记,那么这个类中的所有方法都会被 AOP 拦截。
@ConfigurationProperties 和 @EnableConfigurationProperties 相互配合,但在Spring Boot 2.2 及之后的版本中,大部分情况下确实不再强制需要使用 @EnableConfigurationProperties 注解来启用 @ConfigurationProperties 标注的类,这得益于 Spring Boot 的自动配置机制优化。
幻想成为一个打工皇帝
浙公网安备 33010602011771号