java中實現多線程的方法有兩種,1:繼承Tread類;2:實現Runable接口

成都創新互聯作為成都網站建設公司,專注網站建設公司、網站設計,有關成都定制網站方案、改版、費用等問題,行業涉及混凝土攪拌站等多個領域,已為上千家企業服務,得到了客戶的尊重與認可。
1、
public?class?MyThread?extends?Thread{
//重寫run()方法
public?void?run(){
//多線程要做的事
}
public?static?void?main(String?args[]){
MyThread?m1?=?new?MyThread();
MyThread?m2?=?new?MyThread();
m1.start();
m2.start();
}
}
2、
public?class?NThread?implements?Runable{
//實現run()方法
public?void?run(){
//多線程要做的事
}
public?static?void?main(String?args[]){
NThread?nt?=?new?NThread();
new?Thread(nt,"nt1_name").start();
new?Thread(nt,"nt2_name").start();
}
}
在 Java 中,線程(Thread)是指程序執行的一條路徑,是進程中的一個實體。Java 中的線程是輕量級的,可以同時運行多個線程,這就是多線程(Multithreading)。
多線程是指在一個程序中同時運行多個線程,每個線程都可以獨立執行不同的任務。多線程的特點包括:
提高程序的并發性:多線程可以讓程序同時執行多個任務,提高程序的并發性,從而提高程序的效率。
提高程序的響應性:多線程可以讓程序在執行耗時操作時不會阻塞,從而提高程序的響應性,使用戶能夠更快地得到反饋。
充分利用 CPU 資源:多線程可以讓程序充分利用 CPU 資源,提高 CPU 的利用率,從而提高程序的效率。
方便處理復雜的任務:多線程可以讓程序同時處理多個復雜的任務,從而方便處理復雜的任務。
需要注意的是,多線程也會帶來一些問題,例如線程安全問題、死鎖問題等,因此在編寫多線程程序時需要注意這些問題。
public class DoubleThread {
public static void main(String[] args) {
Thread t1 = new Thread() {
@Override
public void run() {
for (char i = 'a'; i = 'z'; i++) {
System.out.println(i);
}
}
};
Thread t2 = new Thread() {
@Override
public void run() {
for (char i = 'A'; i = 'Z'; i++) {
System.out.println(i);
}
}
};
t1.start();
t2.start();
}
}
繼承Thread類來實現多線程:
當我們自定義的類繼承Thread類后,該類就為一個線程類,該類為一個獨立的執行單元,線程代碼必須編寫在run()方法中,run方法是由Thread類定義,我們自己寫的線程類必須重寫run方法。
run方法中定義的代碼為線程代碼,但run方法不能直接調用,如果直接調用并沒有開啟新的線程而是將run方法交給調用的線程執行
要開啟新的線程需要調用Thread類的start()方法,該方法自動開啟一個新的線程并自動執行run方法中的內容
? ? ?
請點擊輸入圖片描述
結果: ? ? ? ? ? ?
? ? ?
請點擊輸入圖片描述
*java多線程的啟動順序不一定是線程執行的順序,各個線程之間是搶占CPU資源執行的,所有有可能出現與啟動順序不一致的情況。
CPU的調用策略:
如何使用CPU資源是由操作系統來決定的,但操作系統只能決定CPU的使用策略不能控制實際獲得CPU執行權的程序。
線程執行有兩種方式:
1.搶占式:
目前PC機中使用最多的一種方式,線程搶占CPU的執行權,當一個線程搶到CPU的資源后并不是一直執行到此線程執行結束,而是執行一個時間片后讓出CPU資源,此時同其他線程再次搶占CPU資源獲得執行權。
2.輪循式;
每個線程執行固定的時間片后讓出CPU資源,以此循環執行每個線程執行相同的時間片后讓出CPU資源交給下一個線程執行。
網站名稱:java服務端代碼多線程 javaweb 多線程
標題來源:http://www.yijiale78.com/article0/ddjgjoo.html
成都網站建設公司_創新互聯,為您提供網站建設、面包屑導航、定制開發、做網站、網站設計公司、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯