使用Java写一段回调函数的使用方法,获取其他线程生成的值
时间: 2024-02-02 08:04:26 浏览: 94
好的,以下是一个简单的Java回调函数使用方法,可以获取其他线程生成的值:
```java
import java.util.function.Consumer;
public class Main {
// 回调函数类型
public interface Callback {
void onValueReceived(int value);
}
// 子线程函数
public static void threadFunc(Callback cb) {
int value = 42;
// 调用回调函数,将值传递给主线程
cb.onValueReceived(value);
}
public static void main(String[] args) {
// 创建回调函数
Callback cb = new Callback() {
@Override
public void onValueReceived(int value) {
System.out.println("Value received: " + value);
}
};
// 创建子线程并传递回调函数
new Thread(() -> threadFunc(cb)).start();
}
}
```
在上面的代码中,我们定义了一个回调函数接口 `Callback`,它定义了一个方法 `onValueReceived`,它接受一个整数参数。然后我们在主函数中创建了一个回调函数 `cb`,它会在子线程中被调用。接着我们创建了一个子线程,并将回调函数作为参数传递给它。在子线程函数中,我们生成了一个值 `42`,并将它传递给回调函数。回调函数被调用后,它会在控制台输出接收到的值。
注意,在回调函数中,我们可以使用任何我们想要的方式处理接收到的值。上面的代码只是一个简单的示例。
阅读全文