我的程序将使用线程,但一些变量,如链接/页面的集合、有关查询的信息(如果正在更新或没有)和其他一些信息(布尔字段、整数字段等)必须由线程共享。
在这种情况下,所有线程将处理相同的工作,但在集合的不同元素中。
我想知道是否有一种方法可以做到这一点,而不仅仅是创建一个类/对象来保存这些共享数据。
我的情况:我的数据库中有很多页面需要处理,我无法一次全部恢复。在每个线程中,我都有一个布尔字段来通知页面列表是否正在使用来自数据库的链接进行更新。每个线程都有一个包含要处理的页面的集合。
在过去的节目中,我有类似的情况。为了解决这个问题,我创建了一个持有这些状态的 Master 和从 Master 那里获取信息的 Slave。但是现在我想不使用 Master,只使用 Slave,但我需要知道是否有一种方法可以让所有线程只有一个变量。
示例:如果 thread1 自动将某个布尔值更新为 true,则所有其他线程都将此布尔值设为 true。