我已经阅读了很多评论,提到BlackBerry线程模型偏离了
Java标准,可能会导致问题,但是没有数量的谷歌搜索引起了我的意思.
我一直在为BlackBerry开发一个相当大的业务应用程序,尽管我以前从来没有Java多线程应用程序的经验,但是还没有遇到任何问题,除了我们自己造成的.
有人可以准确地描述BlackBerry线程模型是如何不同的,以及我作为开发人员应该如何考虑?显然这个话题的任何链接也是很棒的.
解决方法
1.UI
用户界面操作总是需要在UI线程中运行.执行像LabelField.setText(“foo”)这样的函数;你需要做:
用户界面操作总是需要在UI线程中运行.执行像LabelField.setText(“foo”)这样的函数;你需要做:
- UiApplication.getUiApplication().invokeLater(new Runnable(){
- public void run(){
- myLabelField.setText("foo");
- myLabelField.setDirty(true);
- }
- });
很容易啊?
2.Network
网络操作不应该在UI线程中运行.做这样的事情做:
- new Thread(){
- public void run(){
- HttpConnection hc =
- (HttpConnection)Connector.open("http://www.stackoverflow.com");
- }
- }.start();
这两个主要原则是非常重要的.您应该始终关心您正在操作的线程.