多執行緒 小例子

2022-05-26 14:18:11 字數 3010 閱讀 2284

1

. 執行緒小例子

/**

* 失去一日甚易,欲得回已無途!

* 2016-11-17下午1:43:51

* * 程序:可以包含乙個或者多個執行緒! cpu上 真正 執行的 是 執行緒!

* * 實現多執行緒的方法:

* 01.繼承thread類 重寫run()

* 02.實現runnable介面 重寫run()

* * 多執行緒:在單個程式中,同時執行多個執行緒來完成不同的工作! 多個執行緒 併發 執行的技術!

* * 併發:在同乙個時間段中 有幾個程式 都處於 啟動執行 到 執行完畢 之間!

* 計算機同時執行幾個程式,或者執行同乙個程式的多個程序或者執行緒!

* 各就各位 ,預備! 跑!

* 運動員的狀態??? 併發!

* 秋季 是感冒的高發期!

* * 在乙個確定的事件點! 只能有乙個執行緒在執行!

*

* run()和start()區別:

* run():就是類中的乙個普通方法,如果兩個類中都有run(),那麼肯定是乙個run()執行完畢之後才會執行另乙個run();

* 修飾符必須是public! 返回值型別 必須是 void!

*

* start():只有執行start()才算是啟動執行緒!這是乙個就緒狀態!缺省會執行run();無需等待run()中的內容全部執行完畢!

* 在呼叫start()並沒有立即執行run()!而是在乙個不確切的時間執行!cpu分配時間片給當前執行緒時,

* 當前執行緒才執行run()裡面的**!

* * 執行緒的生命週期:

* 1.新生

* thread01 thread01=new thread01();

* 2.就緒

* thread01.start();

* 3.執行

* cpu分配時間片給thread01的時候,執行run()

* 4.阻塞

* sleep(); wait()

* 5.死亡

* 001.正常 run()執行完畢後 正常的退出

* 002.異常 run()執行的過程中,出現異常情況,非正常的退出!

*

*執行緒的優先順序!

* 預設值 是 5,最小值 1, 最大值 10!

* thread01.setpriority(9);

*/public class mythread

}//01. 繼承thread 重寫run()

class thread01 extends thread

count++;}}

}//02. 實現runnable介面 重寫run()

class thread02 implements runnable

count++;}}

}

2.同步**方法 實現賣票

public class saleticket implements runnable

try catch (interruptedexception e)

}@override

public void run()

}public static void main(string args)

}

3.同步

**塊方法實現賣票

public class saleticket implements runnable

try catch (interruptedexception e) }}

public static void main(string args)

}

4.小總結

/*runnable thread callable future 多執行緒 runnable 與 callable 區別

01.runnable預設規定執行的方法時run();callable預設規定執行的方法時call();

02.runnable的run()沒有返回值,callable中的call()具有返回值

03.run()不能宣告異常!必須內部處理! call()可以宣告異常

04.執行callable的時候可以 拿到乙個future物件 !

future是乙個模式!

核心思想====》 原本需要等待的時間段,現在可以去做一些其他的業務邏輯!

假設 現在有乙個 具有返回值的a() 還有乙個b() 和c()

之前我們呼叫a() 必須等待a()返回結構之後 才能呼叫 b()或者c()

現在我們呼叫a() 不須等待a()返回結構之後 也能呼叫 b()或者c() future

*/5.驗證同步方法的鎖

public class a implements runnable  catch (interruptedexception e) 

system.out.println("結束......");

} @override

public void run()

public static void main(string args) }}

驗證同步方法的鎖

6.驗證同步**塊的鎖

public class a implements runnable  catch (interruptedexception e) 

system.out.println("結束......");}}

@override

public void run()

public static void main(string args) }}

多執行緒例子

coding utf 8 import threading import queue import time import random from faker import faker class mythread threading.thread 執行緒模型 def init self,queue...

POSIX執行緒多執行緒例子

include include include include define num threads 6 void thread function void arg int main sleep 1 printf waiting for threads to finish.n for lots of...

多執行緒實例子

class threaddemo1 catch exception e system.out.println main thread.currentthread getname testthread tt new testthread tt.start tt.start tt.start tt.st...