猿问

请提示或举例Runnable的参数是使用方法?

Thread thread2=new Thread(new ThreadUseRunnable(),"SecondThread");
"SecondThread"是参数传递下去吗|?run()如何获取到这个值?

红颜莎娜
浏览 111回答 2
2回答

胡子哥哥

Runnable里面没有传参函数,所以得自己造一个0.自定义一个接口,继承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);    }};2.初始化线程池,运行Runnable ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); cachedThreadPool.execute(sendMessage.setParam("I am service"));如上所示,线程池调用的一个runnable实例,这个runnable实例传入了一个字符串参数

手掌心

"SecondThread" 是新new的线程的名字,可以通过getName()方法拿到这个线程的名字
随时随地看视频慕课网APP
我要回答