码迷,mamicode.com
首页 > 编程语言 > 详细

多线程

时间:2020-06-24 00:42:36      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:结合线程   占用   mda   方案   线程安全   mic   vol   alt   情况   

多线程创建

技术图片

 

 在spring 中还可以注解支持创建

技术图片

 

 实例如下

1Thread

技术图片

 

 2Rundable

也可以尝试用lamda表达式的两种写法简化代码

技术图片

 

 3callable

技术图片

 

 4 线程池

技术图片

 

 5spring注解,一个注解就能异步的开线程帮我们操作,从而不用占用主线程(在loginManage类中)

技术图片

 

技术图片

 

 

 然后想用的时候结合线程池调用就行

技术图片

 

 然后就是停止线程

1用一个标志

技术图片

 

 然后就不需要调用stop因为怕线程在执行然后强制停止造成不安全

技术图片

 

 线程的五种状态

技术图片

 

 

多线程最容易出现的问题就是同步问题,同时执行+i这个值,导致错误或者线程安全

比如我们需要加一个值一般是i++,在多线程里防止出错就加锁

多线程一般的解决方案就是加锁对吧synchronized

技术图片

 

 这样出票就不会错,

,但是再来看看不加锁的情况下CAS,就是比较交换,比较交换

技术图片

 

 或者用java原子类,也叫无锁

技术图片

 

 也可以实现递增;

技术图片

 

 并且效率高 ,为什么要看这些呢,因为不管是synchronized还是volatile,CAS等,底层都是这个指令

技术图片

 

多线程

标签:结合线程   占用   mda   方案   线程安全   mic   vol   alt   情况   

原文地址:https://www.cnblogs.com/yangj-Blog/p/13185411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!