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