gpt4 book ai didi

java - 在Java中,您必须有一个具有线程将访问的共享变量的类吗?

转载 作者:行者123 更新时间:2023-12-02 00:42:19 24 4
gpt4 key购买 nike

我还在学习线程,但了解的东西不多。

我发现我需要实现 Runnable 接口(interface)并创建同一类的各种实例,以便每个线程执行每个实例。这是正确的吗?

如果正确,我需要创建另一个类来包含所有线程将访问/共享的变量?

编辑:我需要维护一些变量来协调线程工作,否则它们将执行相同的工作。这将是所有线程共享的一个变量。

编辑2:这个问题与此相关:How I make result of SQL querys with LIMIT different in each query? 。我需要维护已对数据库进行查询以设置 OFFSET 参数的线程数量。

最佳答案

每个线程都需要一个 Runnable 实例来完成其工作,是的。在某些情况下,线程可以共享同一个实例,但前提是实例中不存在需要在线程之间有所不同的状态。 通常您会希望每个线程中有不同的实例。

线程应该共享尽可能少的状态以避免出现问题,但如果您确实想共享状态,一般来说您需要一个或多个实例来保存该状态,这是正确的。

请注意,此共享状态也可以保存在类变量而不是实例变量中。

关于java - 在Java中,您必须有一个具有线程将访问的共享变量的类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6003253/

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