J2ME中的同步

时间:2010-09-13 06:16:26

标签: java multithreading java-me synchronization

如果一个人不使用线程计时器,他们就不需要同步,因为所有输入/输出都由一个处理单线程。但是,如果引入TimerTasks,则必须进行同步。

有两种方法可以在J2ME中同步代码:

  1. 通常:使用锁
  2. 使用Display.callSerially(Runnable r)以便所有外部事件都与事件线程同步。
  3. 问题是:哪种方式更好,或者至少更广泛地使用?其次:如果第二种方式是首选方式,那么下面的实现是否合理?

    class MyTimerTask extends TimerTask {
      Display display;
      RunnableObject r {
          public void run() {
            ...
          }
      }
      ...
      public void run() {
        display.callSerially(r);
      }
    }
    

    谢谢!

1 个答案:

答案 0 :(得分:1)

我更喜欢第二种,对我来说更清楚。我看不出你的实现有什么问题,我想你可以安全地使用它。