在日常的學習、工作、生活中,肯定對各類范文都很熟悉吧。寫范文的時候需要注意什么呢?有哪些格式需要注意呢?以下是我為大家搜集的優(yōu)質范文,僅供參考,一起來看看吧
java多線程示例篇一
java多線程實現(xiàn)方式主要有三種:繼承thread類、實現(xiàn)runnable接口、使用executorservice、callable、future實現(xiàn)有返回結果的多線程,以下是小編為大家搜索整理的java多線程,歡迎閱讀!更多精彩內容請及時關注我們應屆畢業(yè)生考試網(wǎng)!
多線程的基本實現(xiàn)
進程指運行中的程序,每個進程都會分配一個內存空間,一個進程中存在多個線程,啟動一個java虛擬機,就是打開個一個進程,一個進程有多個線程,當多個線程同時進行,就叫并發(fā)。
java創(chuàng)建線程的兩種方式為: 繼承thread類 和實現(xiàn)runnable接口
thread類
1、通過覆蓋run方法實現(xiàn)線程要執(zhí)行的程序代碼
2、start()開始執(zhí)行多線程
package ncheng;
public class d1 extends thread{
public void run(){
for(int i=0 ; i<50; i++){
n(i);
n(currentthread()。getname());
try {
sleep(100);
} catch (interruptedexception e) {
// todo auto-generatedcatch block
tacktrace();
}
}
}
public static void main(string[] args){
new d1()。start();
new d1()。start();
}
}
多個線程共享一個實例的時候,代碼代碼如下:
package ncheng;
public class d1 extends thread{
int i=0;
public void run(){
for(i=0 ; i<50; i++){
n(i);
n(currentthread()。getname());
try {
sleep(100);
} catch (interruptedexception e) {
// todo auto-generatedcatch block
tacktrace();
}
}
}
public static void main(string[] args){
new d1()。start();
new d1()。start();
}
}
結果如下所示:
0
thread-1
0
thread-0
1
thread-1
1
實際2個線程在操縱不同的.變量a,在執(zhí)行run方法時候,線程把a都當做自己的變量在執(zhí)行。
runnable接口實現(xiàn)多線程
當一個繼承自thread時,就不能再繼承其他類,使用runnable接口解決了此問題,在新建一個thread類中,在構造方法中初始化
thread(runnable target)
分配新的 thread 對象。
thread(runnable target,string name)
分配新的 thread 對象。
package ncheng;
public class d2 implements runnable{
int i=0;
public void run(){
for(i=0 ; i<50; i++){
n(i);
n(tthread()。getname());
try {
(100);
} catch (interruptedexception e) {
// todo auto-generatedcatch block
tacktrace();
}
}
}
public static void main(string[] args){
d2 d=new d2();
thread t=new thread(d);
();
}
}
s("content_relate");【java多線程】相關文章:
1.java多線程介紹
2.java多線程教程
3.關于java多線程介紹
4.淺談如何使用java多線程
5.java多線程的開發(fā)技巧
6.java多線程的基本使用
7.40個java多線程問題總結
8.java多線程的定義狀態(tài)和屬性
9.java多線程同步塊實例講解素材
【本文地址:http://www.aiweibaby.com/zuowen/2628518.html】