gpt4 book ai didi

java - 我应该让我所有的 java 代码线程安全吗?

转载 作者:搜寻专家 更新时间:2023-11-01 01:03:33 25 4
gpt4 key购买 nike

我正在阅读 Brian Goetze 的 Java Concurrency in Practice 中的一些并发模式并且对什么时候是使代码线程安全的正确时机感到困惑。

我通常编写旨在在单线程中运行的代码,因此我不太担心线程安全和同步等问题。但是,始终存在相同代码可能稍后在多线程中重复使用的可能性-线程环境。

所以我的问题是,什么时候应该开始考虑线程安全?我应该在一开始就假设最坏的情况并始终从头开始编写线程安全代码,还是应该重新访问代码并在以后出现这种需要时针对线程安全进行修改?

是否存在一些我必须始终注意的并发模式/反模式,即使在编写单线程应用程序时也是如此,以便我的代码在以后用于多线程环境时不会中断?

最佳答案

当您的代码将在多线程环境中使用时,您应该考虑线程安全。如果它只在单线程环境中运行,那么解决复杂性是没有意义的。

话虽这么说,但您可以做一些简单的事情,这些事情无论如何都是很好的做法,并且有助于多线程:

  1. 正如 Josh Bloch 所说,Favor Immutability .根据定义,不可变类几乎是线程安全的;
  2. 仅在需要而不是为了方便时使用数据成员或静态变量。

关于java - 我应该让我所有的 java 代码线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1391995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com