java 线程间传递对象_java – 在不同线程中的类之间传递对象的最佳方法?

我有一个“可运行”的类“A”,我用

Java unmarshallers创建新对象. MainGUI线程尝试通过类“A”中已有的get()来访问这些实例.我在A类创建的实例,我将它们设置为静态,以便它们永远可用,但是当我得到一个具有不同属性的新完整实例时,我必须将新实例与前一个数据进行比较并保持不变新的那一个.

是否有更好的方法或设计解决这个问题?

如何获取在运行时创建的类“A”的实例而不使其成为静态?

示例代码:

public class SOAPMessagesFactory {

private static GetCameraImageResponse getCameraImageResponse;

// process here the msgs in another thread, not shown here in that snipped

if (messageTag.equalsIgnoreCase("GetCameraImageResponse")) {

try {

JAXBElement cameraImageResponse = unmarshaller.unmarshal(SoapBodyReader, GetCameraImageResponse.class);

getCameraImageResponse = cameraImageResponse.getValue();

} catch (Throwable ex) {

ex.printStackTrace();

}

}

public GetCameraImageResponse getCameraImageResponse() {

if (getCameraImageResponse != null) {

return getCameraImageResponse;

} else {

return null;

}

}

// in main gui

public void UpdateGUI() {

GetCameraImageResponse cameraImageResponse = messageFactory.getCameraImageResponse();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值