㈠ java編寫三個線程,線程一輸出a,b,線程二輸出c,d,線程三輸出e,列印出a c f b d
用sleep方法即可,你新建三個線程,第一條輸出a後sleep100然後輸出b.第二個線程輸出c後sleep200輸出d.第三個線程直接輸出c.主函數依次調用,t1.start後讓它sleep50然後跑吧,穩穩的
㈡ java有幾種實現線程的方式
有三種:
(1)繼承Thread類,重寫run函數
創建:class xx extends Thread{ public void run(){Thread.sleep(1000) //線程休眠1000毫秒,sleep使線程進入Block狀態,並釋放資源}}
開啟線程:對象.start() //啟動線程,run函數運行
(2)實現Runnable介面,重寫run函數
開啟線程:Thread t = new Thread(對象) //創建線程對象t.start()
(3)實現Callable介面,重寫call函數
Callable是類似於Runnable的介面,實現Callable介面的類和實現Runnable的類都是可被其它線程執行的任務。
㈢ java三個控制控制項的線程,為什麼不能一起工作
這是一個線程處理的機制問題, 個人理解樓主的意思如下:
需求:
有三個線程,為Thread1, Thread2, Thread3,
雖然三個線程都已經start(),但是三個線程的處理存在優先順序,Thread1先處理完, 然後Thread2, 最後才Thread3.
每個線程的結束條件就是 : button的text屬性值達成條件後停止
方案:
用Thread的join()方法, 在Thread3的線程任務中, 將Thread2 join 進來 , 然後在 Thread2的處理任務中, 將 thread1的處理join進來。 這樣可以保證線程3等待線程2執行完, 線程2等待線程1執行完;
線程的處理任務是否結束,在run()做下判斷即可。
㈣ java創建三個線程,每個線程都是獲取系統時間和輸出系統時間的
通過Runnable介面實現run方法,然後通過thread運行3個線程
1、定義Runnble
{//實現Runnable介面的run方法
publicvoidrun(){
try{
Datedt=newDate();//獲取當前日期;
Thread.sleep(1000);//線程休眠1秒鍾
System.out.println(dt);//輸出日期
}catch(Exceptione){}
}
}
2、啟動3個線程
MyRunnablemr=newMyRunnable();
Threadt1=newThread(mr);//定義第一個線程
//啟動
t1.start();//啟動第一個線程
Threadt2=newThread(mr);//定義第二個線程
//啟動
t2.start();//啟動第二個線程
Threadt3=newThread(mr);//定義第三個線程
//啟動
t3.start();//啟動第三個線程
㈤ JAVA開啟三個線程,去讀取數組中的數據不能重復
set中是不能存在重復數的。
這個可以通過修改數據的時間來判斷。例如:表中有個欄位讀取時間。當這個客戶讀取10條數據的時候,更新讀取時間為當前時間。然後下個客戶讀取的時候,判斷時間在半個小時內,沒有更新的數據。就OK了。
㈥ java求代碼,創建三個線程,設置線程名,要求每個線程執行2次
原則上一個線程只能執行一次,只有創建2個同樣的線程分別執行一次,達到你這個目的:
publicclassTest{
publicstaticvoidmain(String[]args)throwsInterruptedException{
exeThread(newmyThread("線程1"));
exeThread(newmyThread("線程1"));
exeThread(newmyThread("線程2"));
exeThread(newmyThread("線程2"));
exeThread(newmyThread("線程3"));
exeThread(newmyThread("線程3"));
}
publicstaticvoidexeThread(Threadt){
t.start();
}
}
classmyThreadextendsThread{
publicmyThread(Stringname){
super(name);
}
@Override
publicvoidrun(){
System.out.println("線程"+this.getName()+"執行了");
}
}
㈦ java 先隨機順序列印三個線程等列印結束後再列印第四個線程
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread1 print over.");
}
});
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread2 print over.");
}
});
Thread t3 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread3 print over.");
}
});
Thread t4 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread4 print over.");
}
});
// join 等待線程執行結束。
t1.start();
t2.start();
t3.start();
try {
t1.join();
t2.join();
t3.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
t4.start();
}
㈧ java里假如題目需要3個線程來完成一個任務,我是不是得寫三次Thread繼承類啊
不用繼承 Thread ,實現 Runnable 介面就可以了。
如果只是完成一個任務只需要寫一個類實現 Runnable 就可以了,這樣也可以創建多個線程,在多張程中訪問共享變數,資源時,需要注意同步。
如果有多個不同的任務,那就需要為每個任務寫一個類實現 Runnable。
㈨ java讓三個線程隨機順序執行
1:第一步,生成一個隨機數
比如:1-100 之間隨機生成一個隨機數
int max=100,min=1;
int ran2 = (int) (Math.random()*(max-min)+min);
2:第二步, 在線程執行前--添加 Thread.sleep(隨機數)。
Thread.sleep(ran2);
㈩ java線程是什麼
一、操作系統中線程和進程的概念
現在的操作系統是多任務操作系統。多線程是實現多任務的一種方式。
進程是指一個內存中運行的應用程序,每個進程都有自己獨立的一塊內存空間,一個進程中可以啟動多個線程。比如在Windows系統中,一個運行的exe就是一個進程。
線程是指進程中的一個執行流程,一個進程中可以運行多個線程。比如java.exe進程中可以運行很多線程。線程總是屬於某個進程,進程中的多個線程共享進程的內存。
「同時」執行是人的感覺,在線程之間實際上輪換執行。
二、Java中的線程
在Java中,「線程」指兩件不同的事情:
1、java.lang.Thread類的一個實例;
2、線程的執行。
使用java.lang.Thread類或者java.lang.Runnable介面編寫代碼來定義、實例化和啟動新線程。
一個Thread類實例只是一個對象,像Java中的任何其他對象一樣,具有變數和方法,生死於堆上。
Java中,每個線程都有一個調用棧,即使不在程序中創建任何新的線程,線程也在後台運行著。
一個Java應用總是從main()方法開始運行,mian()方法運行在一個線程內,它被稱為主線程。
一旦創建一個新的線程,就產生一個新的調用棧。
線程總體分兩類:用戶線程和守候線程。
當所有用戶線程執行完畢的時候,JVM自動關閉。但是守候線程卻不獨立於JVM,守候線程一般是由操作系統或者用戶自己創建的