java - BlackBerry 线程模型

标签 java multithreading blackberry java-me

我读过很多评论,其中提到 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/

相关文章:

java - Hibernate 中的日期注解

java - 在连接到数据库之前如何在运行时获取数据库密码

java - 如何在 Java 中计算和打印字符串数组中的重复字符串?

java - 如何从 Midlet 运行 java 应用程序

c++ - 如何安全地结束一个线程

blackberry - 如何关闭黑莓手机上的系统对话框?

blackberry - BlackBerry 应用程序中的启动画面

Java 和 Hadoop : Incompatible types with TextInputFormat

c++ - 当线程等待互斥锁时,cpu会做什么

java - Blackberry Java Sqlite 多记录插入