开发者社区 问答 正文

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

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

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

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

    2019-07-17 23:19:37 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等