java thread回调_使用Runnable在Java中实现回调
发布日期:2021-06-24 16:15:24 浏览次数:4 分类:技术文章

本文共 686 字,大约阅读时间需要 2 分钟。

我习惯于使用类似JavaScript或类似Erlang的语言编写代码,在其中我可以轻松实现回调函数。现在,我必须用Java编写一些东西。我想出了如何执行这样的回调:

import java.util.*;

class Demo extends Thread{

private int data;

public void run(){

ask_for_data(new Runnable(){

public void run(){

on_data();

}

});

}

public void on_data(){

System.out.println("Async callback: " + data);

}

public void ask_for_data(final Runnable callback){

System.out.println("2");

Runnable r = new Runnable(){

public void run(){

data = get_data();

new Thread(callback).start();

}

};

new Thread(r).start();

}

public int get_data(){

try{

Thread.sleep(1000);

} catch (Exception e) {};

return 42;

}

public static void main(String[] args) {

Demo d = new Demo();

d.start();

}

}

问题是:这是正确的方法吗?

转载地址:https://blog.csdn.net/weixin_33758343/article/details/114210183 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java 内存区_Java内存模型和Java内存区域的区别和联系?
下一篇:java jmx 配置_为什么在配置JMX时Java打开3个端口?

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月16日 20时26分30秒