java thread 多线程_java用Thread方式创建多线程
進程:一個正在執行的程序,每一個進程都有一個執行順序,該
順序是一個執行路徑,或者叫一個控制單元。
線程:進程中一個獨立的控制單元。線程控制著進程的執行。
一個進程中至少有一個線程。
java VM中至少有一個線程負責java程序的執行。
而且這個線程運行的代碼存在于main方法中。該線程為主線程。
擴展,jvm啟動了兩個線程,一個主線程,一個垃圾回收機制的線程。
1.怎樣創建一個多線程?
第一種方法:通過繼承Thread類的方法
1.繼承Thread類
2.重寫Thread類的run()方法
目的:將自定義的代碼存儲在run()方法中,讓線程運行。
3.調用線程的start()方法。
(了解:多核編程,單核cpu的時候多線程的切換由線程控制,多核cpu下
則每個cpu可以同時處理多線程,單個cpu在同一時間只能執行一個線程,
多核下內存是瓶頸)
多線程具有隨機性:
因為多線程都獲取cpu的執行權。cpu執行到誰,誰就執行。明確一點,在某一時刻
只能有一個程序在運行。(多核除外),cpu在做著快速的切換,以達到看上去是同
事運行的效果。至于每個線程執行多久,cpu說了算,(其實我們可以控制執行時間愛你)
為什么要覆蓋run()方法?
Thread類用于描述線程。該類定義了一個功能,用于存儲線程要運行的代碼。該存儲功能就是run方法。
也就是說Thread類中的run()方法用于存儲線程要運行的代碼。
//實例:
class Demo extends Thread
{
public void run(){
for(int x=0;x<200;x++){
System.out.println("run--------------"+x);
}
}
}
class ThreadDemo
{
public static void main(String[] args)
{
Demo d=new Demo();//創建好了一個線程
/*
d.start()和d.run()的區別?
*/
d.start();//開啟線程并執行該線程的run()方法。運行線程是隨機的
//d.run();//僅僅是對象調用方法。線程創建了,卻并沒有運行。運行的結果每次都是一樣的。
for(int x=0;x<200;x++){
System.out.println("HelloWold----------"+x);
}
}
}
總結
以上是生活随笔為你收集整理的java thread 多线程_java用Thread方式创建多线程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有趣的for循环
- 下一篇: java背景图片加上组件_关于 java