JAVA多线程本质分析

       多线程是Java开发中的重中之重,其重要性和难度,可见一斑。掌握并精通多线程开发,是每一个程序员的必修之课。哪怕中间的过程很痛苦,只要坚持了,并最终豁然开朗了,都是一种升华。

       多线程的优化:合理利用CPU,使用多线程并行取代单线程串行,可以显著提升系统性能。

       多线程线程安全问题,本质上就是资源共享问题。如果多线程之间彼此独立,互不影响,这种情况是不存在线程安全问题的。如果多线程之间涉及共享资源,此时处理不当,就存在线程安全问题。举个简单的例子:A、B、C三人各自有一块蛋糕,他们之间不存在竞争关系,不会出现矛盾;A、B、C共享一块蛋糕,则他们之间存在竞争关系,会出现矛盾。

       那么,如何解决多线程线程安全问题呢?两种思路:隔离资源;同步共享资源。

       一、隔离资源:使用ThreadLocal隔离资源,即将共享资源备份到各自的线程单独处理。

       二、同步共享资源:既然是共享资源,就想办法控制,在同一时刻,只有一个线程来操作共享资源。使用的技术有:使用synchronized同步关键字;使用reentrantlock等更加灵活的锁工具;使用CAS无锁思想。

       本篇只是引题,后面的篇幅将会详细讲述具体的实践案例。

转载于:https://my.oschina.net/u/3136553/blog/1861701

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值