线程之间的Java共享变量
我有一个多线程程序,我想共享这个变量 第一线程线程之间的Java共享变量,java,multithreading,variables,static,shared,Java,Multithreading,Variables,Static,Shared,我有一个多线程程序,我想共享这个变量 第一线程 public static volatile Message recievedMessages; 在线程之间。在线程中声明我希望能够多次设置变量值,而在另一个线程中,我只希望能够获得变量的值。 我的方法应该是什么 第二线 SSLServer.recievedMessages.getMsgContent(); 这给了我java空指针异常,字符串没有在第二个线程上定义 编辑:还值得一提的是,第二个类是java swing gui当ReceivedM
public static volatile Message recievedMessages;
在线程之间。在线程中声明我希望能够多次设置变量值,而在另一个线程中,我只希望能够获得变量的值。
我的方法应该是什么
第二线
SSLServer.recievedMessages.getMsgContent();
这给了我java空指针异常,字符串没有在第二个线程上定义
编辑:还值得一提的是,第二个类是java swing gui当
ReceivedMessages
的值发生更改时(例如,在更改时执行一些代码),是否应该通知线程?或者它应该总是看到最新版本的ReceivedMessages
,但不做任何更改吗?第二个线程应该只看到值,它永远不会更改它。回答您的问题:它应该只看到最新版本。此外,我还提供了另一个类的代码片段“它应该只看到最新版本”。真正地即使最新版本为null
?