处理线程和功能

时间:2014-06-02 11:07:09

标签: java multithreading processing

我已经扩展了线程类,我已经创建了一个函数来加载一个像这样的新gif:

import gifAnimation.*;

Gif water;
Loader thread2;

void setup(){
thread2 = new Loader("water");
thread2.start();
}

void draw(){
 water.play(); // this returns null pointer exception
}

Gif water(){
water = new Gif(this, "waterloop.gif");
return water;
}

所以我期望发生的事情是:

water是Gif类的新实例。 thread2是loader类的一个新实例,它查找要运行的water函数。水功能是Gif型。它加载了waterloop gif。并在thread2结束时将新值赋给global var water。

唯一的一点就是返回的值似乎没有出现在函数之外的任何想法?

1 个答案:

答案 0 :(得分:0)

  

唯一的一点就是返回的值似乎没有出现在函数之外的任何想法?

我会检查

  • 您可以保证在water()之前调用draw()。也就是说,只是因为你希望在不同的线程中按顺序调用它就像希望星星一样。 (可能会发生,但可能不会)
  • 你只有这个类的一个实例。也就是说,没有一点在一个实例上调用water()而在另一个实例上调用()。

你能否澄清setup()如何在这里发挥作用?