gpt4 book ai didi

java - Android后台线程通信

转载 作者:行者123 更新时间:2023-11-30 02:41:23 25 4
gpt4 key购买 nike

我想从主线程创建两个可以相互通信的线程(T1 和 T2)。我正在寻找实现此目标的最佳方法。我的想法是用处理程序来做到这一点。这个可以吗?问题是我不知道 T1 如何获得 T2 的处理程序引用,反之亦然。

编辑。

让我更详细地解释一下情况。如果 T1 中发生某些情况,我想向 T2 发出信号,以便 T2 可以做一些其他工作。

最佳答案

你可以这样做:

public class Test {

static abstract class MyThread extends Thread implements Callback{
Callback mCallback;
public void setCallBack(Callback pCallBack){
mCallback = pCallBack;
}

}

static interface Callback{
public void onAction(Object... args);
}

public static void main(String args[]){
MyThread T1 = new MyThread(){

@Override
public void onAction(Object... args) {
//code when onAction is called.

}

public void run(){
//T1 thread code here

//if some condition
//call the Callback
mCallback.onAction();
}

};

MyThread T2 = new MyThread(){
@Override
public void onAction(Object... args) {
//code when onAction is called.
//"Other work"
}

public void run(){
//T2 thread code here

}

};

T1.setCallBack(T2);
T2.setCallBack(T1);

T1.start();
T2.start();
}
}

关于java - Android后台线程通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com