这是我的代码
foo(a, b)
{
c = a.item;
bar(c);
b = a;
b.count--;
}
我想让bar(c)在一个单独的线程中运行。到目前为止,这是我所拥有的:我使类实现可运行。我用t = new Thread(this, "Demo Thread"); t.start();
替换条形(c)线然后在后面的代码中创建一个函数,如下所示:
public void run
{
bar(c);
}
问题是我不知道如何让c运行。谁能告诉我怎么做?
我修改了你的代码,使bar(c)
在它自己的线程中运行。
foo(a, b)
{
final c = a.item;
new Thread() {
@Override
public void run() {
bar(c);
}
}.start();
b = a;
b.count--;
}
本质上你正在做的是创建一个新的Thread
对象,它只会调用bar(c)
。您还需要使c
在方法中为final,以便您可以将其传递给匿名内部类的run
方法。
我还想指出,使用这种方法,运行bar
的Thread
只是在它的快乐的方式,你没有办法监控它的进度。您可能希望添加一些更健壮的逻辑来处理程序流。(如果需要的话)
创建一个Runnable实例,该实例在其构造函数中接受一个值。