Java并发包最佳实践是什么?

发布于 2022-09-12 02:30:09 字数 367 浏览 23 评论 0

并发包里东西挺多但是感觉很多作用都挺像,平时工作中常用的哪些啊,阻塞队列、并发容器吗。

线程池算是基础,常用。

Countdownlatch/cyclicbarrier/fork-join框架看上去完全可以用jdk8的并行流代替了。

同步的话,synchronizd/lock/semaphore其实干的都是一件事。。AQS和阻塞队列看上去也很像。。

那什么时候用阻塞队列什么时候用synchronizd。这阻塞队列不就是消息传递方式吗,比共享内存手动同步的方式用起来应该不容易出错吧。。

至于原子类和volatile,应该是平时写代码不建议用的吧,感觉太底层了。

我看的书啊,只介绍了一大堆并发工具,都不介绍该在什么时候用什么。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

撑一把青伞 2022-09-19 02:30:09

如果只是常规业务逻辑的话,基本是用不到的
库和框架有的会用到

淡忘如思 2022-09-19 02:30:09

1.不懂就问,Countdownlatch/cyclicbarrier 是如何被jdk8 代替的,是否有具体案例,闭锁 和 回环栅栏是用于特定场合的,不明白 和 jdk8 的并行流有什么冲突,你的意思是想重写并行流的搜集器???
2.synchronizd/lock/semaphore其实干的都是一件事 ?他们之间区别还是有很多的, lock能够 实现公平性,非块状结构,超时,响应中断 等操作,具体可以看api,semaphore 可以 同时发放多个 许可,synchronize做不到,aqs 是框架,提供最基本的阻塞需求而已。
3.至于原子类和volatile,应该是平时写代码不建议用的吧感觉太底层了?这个如果写多线程 还是要用的,如果没踩坑,估计觉得没啥,多被坑几次,感觉就会重视起来了吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文