當前位置:首頁 » 編程語言 » java多線程傳參

java多線程傳參

發布時間: 2023-11-19 01:41:40

java多線程方法有哪些

java實現線程常用到的方法有三種,供參考:

/**
*方法一:繼承Thread類
*
*@authorqd
*
*/
{

@Override
publicvoidrun(){

System.out.println("run方法裡面編寫業務代碼");
}

publicstaticvoidmain(String[]args){

MyThreadmyThread=newMyThread();
//調用start方法啟動線程
myThread.start();

MyThread1myThread1=newMyThread1();
Threadthread=newThread(myThread1);
//調用start方法啟動線程
thread.start();
}

}

/**
*方法二:實現Runnable介面
*
*@authorqd
*
*/
{

@Override
publicvoidrun(){

System.out.println("run方法裡面編寫業務代碼");
}

}

/**
*方法三:實現Callable<T>介面優點:可以傳參數,有返回值類型
*
*@authorqd
*
*/
<Integer>{

@Override
publicIntegercall()throwsException{
returnnull;
}

}

Ⅱ java中多線程常見的幾個參數

java中多線程常見的幾個參數
sleep:在指定的毫秒數內讓當前正在執行的線程休眠(暫停執行).
此操作受到系統計時器和調度程序精度和准確性的影響。
該線程不丟失任何監視器的所屬權。
調用sleep的時候鎖並沒有被釋放。
休眠
Java SE5引入了更加顯示的sleep()作為TimeUnit類的一部分,這個方法允許你指定sleep()延遲的時間單元,因此可以提供更好的可閱讀性。

wait:調用wait使線程掛起,直到線程得到了notify或notifyAll消息,線程才會進入就緒狀態。
使你可以等待某個條件發生變化,而改變這個條件超出了當前方法的控制能力。
線程的執行被掛起,對象上的鎖被釋放。意味著另一個任務可以獲得這個鎖。
因此在該對象中的其他synchronized方法可以在wait期間被調用。

yield:相當於:我的工作已經做的差不多了,可以讓給別的線程使用CPU了。
當調用yield時,你也是在建議具有相同優先順序的其他線程可以運行。
對於任何重要的控制或在調整應用時,都不能依賴於yield。
yield並不意味著退出和暫停,只是,告訴線程調度如果有人需要,可以先拿去,我過會再執行,沒人需要,我繼續執行
調用yield的時候鎖並沒有被釋放。

interrupt:中斷線程。
Thread類包含interrupt()方法,因此你可以中止被阻塞的任務。
這個方法將設置線程的中斷狀態。
如果一個線程已經被阻塞,或者試圖執行一個阻塞操作,那麼設置這個線程的中斷狀態將拋出InterruptedException。
當拋出該異常或者該任何調用Thread.interrupted()時,中斷狀態將復位。
你在Executor上調用shutdownNow(),那麼它將發送一個interrupt()調用給他啟動的所有線程。

Ⅲ java runnable線程如何傳參

Runnable裡面沒有傳參函數,所以得自己造一個

0.自定義一個介面,繼承Runnable,新增一個傳參方法

{
publicMyRunnablesetParam(String...param);
}
  1. 實現這個自定義介面

MyRunnablesendMessage=newMyRunnable(){
Stringmessage;
@Override
publicMyRunnablesetParam(String...param){
message=param[0];
returnthis;
}

@Override
publicvoidrun(){
sendMessage(message);
}
};

2.初始化線程池,運行Runnable

=Executors.newCachedThreadPool();
cachedThreadPool.execute(sendMessage.setParam("Iamservice"));

如上所示,線程池調用的一個runnable實例,這個runnable實例傳入了一個字元串參數

Ⅳ Java多線程編程,怎樣實現線程間數據的傳遞

可以用拍孝櫻Scoket套接字讓伺服器和慎畝客戶端襲叢建立連接
可以根據Scoket對象的getInputStream()和getOutputStream()獲得輸入輸出流
再往流裡面寫信息
就實現了簡單的數據傳遞
當然等待數據
的時候會有阻塞現象
所以使用線程來保證數據不會因為等待而阻塞

Ⅳ ANDROID,JAVA編程,怎樣才能傳遞參數給線程

線程之間允許共享一些參數變數,你說的不同數目的參數,是不是可以用ArrayList或者數組來解決。

還有一種就是類似於main函數的形式:
public static void test(Object...objects) {

}
可變參數,jdk5以上支持。
調用可以這樣:test(a,b,c,d);

如果需要一個線程進行運算,並且等待線程運算完成並獲取結果,
參考下線程池、AsyncTask。

熱點內容
dz上傳的圖片不顯示 發布:2025-01-28 09:37:42 瀏覽:886
joinsql多表 發布:2025-01-28 09:23:26 瀏覽:728
php數組循環賦值 發布:2025-01-28 09:23:25 瀏覽:133
android42系統 發布:2025-01-28 09:21:59 瀏覽:901
菜單設計c語言 發布:2025-01-28 09:21:54 瀏覽:273
sql多表查詢優化 發布:2025-01-28 09:21:05 瀏覽:502
iphone6便捷訪問 發布:2025-01-28 09:05:11 瀏覽:176
四位驗證密碼是多少 發布:2025-01-28 08:56:13 瀏覽:808
筆記本顯卡如何配置 發布:2025-01-28 08:49:49 瀏覽:602
為什麼安卓會有卸載殘留 發布:2025-01-28 08:32:00 瀏覽:89