1.创建多线程:
实现Runnable 接口 并实现run方法
2.线程的状态:
3.线程安全:
多核时代,在java中将变量用volatile来修饰,这样当变量的值发生改变后,马上就刷回主存,这样就解决可见性问题。
4.对ThreadLocal理解:
场景2: session中或者token中存储了用户信息,真实项目中,通过拦截器去拿到用户信息,然后放到threadLocal中。
场景3 spring 注解 autowired 不同线程进来,每个请求都去链接数据库则造成不安全问题,每当线程使用threadLocal都会尝试获取,如果没有正在连的,就获取当前线程,否则就不获取。
完成了隔离效果。