Java Runnable线程传参,让run访问参数
前言
做Android开发,可能经常要用到Runnable线程,有时候可能需要传参数进去,然后在run函数中取出参数使用。
解决办法
自定义一个接口,继承Runnable,新增一个传参方法
public interface MyRunnable extends Runnable {
public MyRunnable setParam(String... param);
}
实现这个自定义接口
MyRunnable sendMessage = new MyRunnable() {
String message;
@Override
public MyRunnable setParam(String... param) {
message = param[0];
return this;
}
@Override
public void run() {
sendMessage(message);
}
};
Runnable实现参数传递
大家都知道Runnable()是无法传参数的,但是,有时候,我们提交任务的时候,是需要传递参数的,所以,为了解决这个问题
有以下的方法
这是,一个参数传递的设置接口,里面有一个设置参数的方法
public interface MyRunnable extends Runnable {
public MyRunnable setParam(String param);
}
public static void main(String[] args) {
MyRunnable myRunnable = new MyRunnable() {
// 新建接口,然后定义写实例变量;
String string ;
@Override
public void run() {
// 实现线程池的传参
System.out.println(string);
}
@Override
public MyRunnable setParam(String param) {
string = param;
return this;
}
};
new Thread(myRunnable.setParam("aaa")).start();
}
在进行使用时,我们可以在新建MyRunnable的时候,实现run() 和 setParam()方法,将参数设置到String中
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。