我读过很多评论,其中提到 BlackBerry 线程模型偏离了 Java 标准并可能导致问题,但是没有多少谷歌搜索让我明白这到底是什么意思。
我一直在为 BlackBerry 开发一个相当大的业务应用程序,虽然我以前没有任何 Java 多线程应用程序的经验,但没有遇到任何我们可以责备的问题关于线程,除了我们自己造成的。
有人可以准确描述 BlackBerry 线程模型的不同之处吗?作为开发人员,我应该如何考虑到这一点?显然,关于该主题的任何链接也都很棒。
最佳答案
1.界面
用户界面操作始终需要在 UI 线程中运行。要执行诸如 LabelField.setText("foo");
之类的函数,您需要执行以下操作:
UiApplication.getUiApplication().invokeLater(new Runnable(){
public void run(){
myLabelField.setText("foo");
myLabelField.setDirty(true);
}
});
很简单,是吧?
2.网络 网络操作应该绝不在 UI 线程中运行。要做这样的事情:
new Thread(){
public void run(){
HttpConnection hc =
(HttpConnection)Connector.open("http://www.stackoverflow.com");
}
}.start();
这两个主要原则非常重要。您应该始终注意您在哪个线程中操作。
关于java - BlackBerry 线程模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/356297/