首页 > 编程语言 > 详细

多线程

时间:2020-06-24 00:58:40      阅读:98      评论:0      收藏:0      [点我收藏+]

多线程创建

技术分享图片

 

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

技术分享图片

 

 实例如下

1Thread

技术分享图片

 

 2Rundable

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

技术分享图片

 

 3callable

技术分享图片

 

 4 线程池

技术分享图片

 

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

技术分享图片

 

技术分享图片

 

 

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

技术分享图片

 

 然后就是停止线程

1用一个标志

技术分享图片

 

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

技术分享图片

 

 线程的五种状态

技术分享图片

 

 

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

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

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

技术分享图片

 

 这样出票就不会错,

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

技术分享图片

 

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

技术分享图片

 

 也可以实现递增;

技术分享图片

 

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

技术分享图片

 

多线程

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!