开发者社区> 问答> 正文

[@倚贤][¥20]为了充分利用cpu加快运算,这时候我们就会用到多线程,但是用到多线程时就会面对一个共享变量的问题。为了共享变量的同步我们对线程 代码加锁。但是加锁过程中又会让其他线程进行等待这样就会耗时很大。 那请问,我们应该怎么对待共享变量,使得多线程程序运行结果正确而不会像加锁那样造成等待的耗时?原子操作还是?原子操作内部实现是一个期望值和当前值比较?如果一直比较失败呢?那作为java开发者应该处理多线程?怎么样编码好多线程程序?

问题来自Java技术沙龙的舒超群
Java技术沙龙报名链接:https://yq.aliyun.com/promotion/796

展开
收起
李博 bluemind 2018-12-10 18:51:16 2464 0
1 条回答
写回答
取消 提交回答
  • 擅长解决性能问题以及Java系统疑难杂症

    建议参考ConcurrentHashmap的实现方式,分段锁&乐观锁的实现方式

    2019-07-17 23:19:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
多IO线程优化版 立即下载