首页 > 编程语言 > 详细

简单聊聊多线程的同步

时间:2020-07-03 10:33:04      阅读:52      评论:0      收藏:0      [点我收藏+]

0-前言

  最近发现有新手滥用同步,来简单聊聊Java多线程的同步问题;

1-什么是同步

  同步,简单点说就是一个代码块中多个操作在同一时间段内只能有一个线程进行,其他线程需要等待此线程完成后才可以继续执行;

2-什么时候才需要同步

  当多个线程访问同一资源时(或者有需要多个线程共享的变量时),这个时候,资源被多个线程共用,会由于程序延迟等原因有可能导致数据错误操作,比如扣减库存,有可能会出现负库存;这种情况下,就需要进行同步;

  加了同步,多线程实际就变成单线程了,跟单线程没有区别,也失去了多线程的意义,性能也急剧下降;

  所以,同步是通过牺牲性能来保证共享数据的安全性

  同步的目的,仅仅是为了保证数据的一致性和安全性,没有任何其他目的和意义;

3-简单总结:

    1、当多个线程访问同一资源时(或者有需要多个线程共享的变量时),为了保证数据安全,可以考虑加同步,其他时候不要加同步;

    2、过多同步可能会造成死锁,加同步时要考虑避免死锁;

  

简单聊聊多线程的同步

原文:https://www.cnblogs.com/yanghj/p/13228362.html

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