java - 是否有一种方法可以在线程之间进行通信并交换信息,例如在 java 中的可运行对象中的 getter 方法
问题描述
有没有办法在线程之间进行通信,例如使用 getter 获取变量,因为它们正在不同的线程中更新
例如,如果我在一个可运行的线程中加载图像,如下所示:
Thread t1 = new Thread(new Runnable(){
public void run(){
//Ido the loading here
}
}
有没有一种方法可以与它进行通信,例如获取 var 的值:
Thread t1 = new Thread(new Runnable(){
public void run(){
//Ido the loading here
name = "dsad";
}
public void getName(){ return name }
}
但它没有看到工作
解决方案
您需要创建一个新的公共类型。使用匿名类意味着没有其他类可以看到它的方法,因为除了Runnable
他们可以看到之外没有其他类型。
public class MyTask implements Runnable(){
private volatile String name;
public void run(){
//I do the loading here
name = "dsad";
}
public void getName(){ return name }
}
推荐阅读
- git - 新空分支的 Git 工作流
- amazon-web-services - AWS 中的工作原理或条件策略
- java - 正在生成使用 Spring Boot 空日志文件
- python - 如何使用 Flutter Web 上传文件(Python 服务器)
- javascript - 为什么车把模板中的修剪字符串不呈现?
- c# - winForm 应用程序的标准尺寸是多少?
- sql - 如何在同一个表上多次加入每行的最大值
- python - QDial 每转角度
- text - Sublime Text 3:纯文本模式下的粗体文本
- java - Firebase Analytics“view_cart”事件设置