Thread thread2=new Thread(new ThreadUseRunnable(),"SecondThread");"SecondThread"是參數傳遞下去嗎|?run()如何獲取到這個值?
2 回答

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
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實例傳入了一個字符串參數
添加回答
舉報
0/150
提交
取消