且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在多个不同线程之间共享变量

更新时间:2022-05-16 09:03:00

T1 T2 可以引用包含此变量的类。然后,您可以将此变量设为 volatile ,这意味着在两个线程中都可以立即看到对该变量的更改。

Both T1 and T2 can refer to a class containing this variable. You can then make this variable volatile, and this means that changes to that variable are immeditately visible in both threads.

请参阅本文了解更多信息。


易失性变量共享synchronized的可见性功能,但
没有原子性功能。这意味着线程将
自动查看volatile变量的最新值。
它们可用于提供线程安全性,但仅限于非常b $ b的限制案例:那些不在
多个变量之间或变量的当前值与其$ b之间施加约束的情况$ b未来价值。

Volatile variables share the visibility features of synchronized, but none of the atomicity features. This means that threads will automatically see the most up-to-date value for volatile variables. They can be used to provide thread safety, but only in a very restricted set of cases: those that do not impose constraints between multiple variables or between a variable's current value and its future values.

并注意使用volatile与更复杂的共享状态方式的优缺点。

and note the pros/cons of using volatile vs more complex means of sharing state.