多執行緒實現方式

2021-10-01 14:37:37 字數 804 閱讀 4144

多執行緒實現方式

1、繼承thread類建立執行緒

thread類本質上是實現了runnable介面的乙個例項,代表乙個執行緒的例項。啟動執行緒的唯一方法就是通過thread類的start()例項方法。start()方法是乙個native方法,它將啟動乙個新執行緒,並執行run()方法。這種方式實現多執行緒很簡單,通過自己的類直接extend thread,並複寫run()方法,就可以啟動新執行緒並執行自己定義的run()方法。例如:

public class mythread extends thread

}

mythread mythread1 = new mythread();

mythread mythread2 = new mythread();

mythread1.start();

mythread2.start();

2、實現runnable介面建立執行緒

如果自己的類已經extends另乙個類,就無法直接extends thread,此時,可以實現乙個runnable介面,如下:

public class mythread extends otherclass implements runnable

} 為了啟動mythread,需要首先例項化乙個thread,並傳入自己的mythread例項:

mythread mythread = new mythread();

thread thread = new thread(mythread);

thread.start();

多執行緒實現方式

多執行緒共有四種實現方式 繼承thread類,重寫run方法 實現runnable介面 通過callable和futuretask建立執行緒 通過執行緒池建立執行緒 前面兩種可以歸結為一類 無返回值,原因很簡單,通過重寫run方法,run方式的返回值是void,所以沒有辦法返回結果。後面兩種可以歸結...

同步,多執行緒 ,多執行緒方式實現併發。

io請求幾乎不佔cpu的。同步請求相當於排隊買東西,乙個卡主了,其他的都結不了賬了。執行緒並不是越多越好,如果他特別多還不如同步高,所以對執行緒要有個限制,所以就出現了執行緒池,執行緒池在python3裡才有的,python2裡沒有的。建立程序的話是耗費很多資源的,建立執行緒是幾乎不耗費資源的。建立...

多執行緒 實現多執行緒的幾種方式

public class mythread extends thread mythread mythread1 newmythread mythread mythread2 newmythread mythread1.start mythread2.start public class mythre...