Java Runnable线程传参,让run访问参数
前言
做Android开发,可能经常要用到Runnable线程,有时候可能需要传参数进去,然后在run函数中取出参数使用。
解决办法
自定义一个接口,继承Runnable,新增一个传参方法
1
2
3
|
public interface MyRunnable extends Runnable {
public MyRunnable setParam(String... param);
}
|
实现这个自定义接口
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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()是无法传参数的,但是,有时候,我们提交任务的时候,是需要传递参数的,所以,为了解决这个问题
有以下的方法
这是,一个参数传递的设置接口,里面有一个设置参数的方法
1
2
3
|
public interface MyRunnable extends Runnable {
public MyRunnable setParam(String param);
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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中
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://linxinfa.blog.csdn.net/article/details/106372686