Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
线程之间的Java共享变量_Java_Multithreading_Variables_Static_Shared - Fatal编程技术网

线程之间的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