Java 线程间共享对象
在我的程序中,我喜欢创建一个对象,然后将其传递给两个不同的线程,其中一个线程应该更新对象的值,另一个线程应该使用该值。但是当线程尝试使用这些值时,我得到的错误是对象没有任何值。我如何解决这个问题Java 线程间共享对象,java,multithreading,object,sharing,Java,Multithreading,Object,Sharing,在我的程序中,我喜欢创建一个对象,然后将其传递给两个不同的线程,其中一个线程应该更新对象的值,另一个线程应该使用该值。但是当线程尝试使用这些值时,我得到的错误是对象没有任何值。我如何解决这个问题 SS_list list = new SS_list(); Files_list lof = new Files_list(); CS_UDP udp = new CS_UDP(cs_port, list, lof); CD_TCP tcp = new CS_TCP(cs_port, list, l
SS_list list = new SS_list();
Files_list lof = new Files_list();
CS_UDP udp = new CS_UDP(cs_port, list, lof);
CD_TCP tcp = new CS_TCP(cs_port, list, lof);
SS_list存储可用存储服务器的列表
文件列表存储存储服务器中可用文件的列表
CS_UDP使用UDP进行通信,并将可用文件列表和IP返回给存储服务器
CD_TCP使用TCP进行通信,并实现文件列表中的文件多线程的基础: 如果踏板有一个对象,它将锁定该对象,将数据放入或取出该对象不会改变任何东西,除非该对象被写回内存或磁盘 在您的代码示例中,不需要等待CS_UDP完成对列表的写入,因此当CD_TCP开始读取时,列表仍然为空
希望这有帮助 您可以通过在线程中使用同步来实现。。只需通过多线程..你能在这里更新你的代码吗?从刚才的描述中,我们如何才能告诉您错误的确切位置。您必须使用等待和通知方法。。。在两个线程之间通信。。