/*進程是一個正在執行的程序
* 每一個進程執行都有一個執行順序該順序是一個執行路徑或者叫一個控制單元
*
*線程就是進程中的一個獨立的控制單元
* 線程在控制著進程的執行
*一個進程中至少有一個線程
*
*Java VM 啟動的時候會有一個進程javaexe
*該進程至少有一個線程負責java程序的執行
*而且這個線程運行的代碼存在於main方法中
*該線程稱之為主線程
*
*擴展其實更細節說明jvmjvm啟動不止一個線程還有負責垃圾回收機制的線程
*創建線程的第一種方式繼承Thread類
*步驟
*定義類繼承Thread
*復寫Thread類的run方法
* 目的將自定義的代碼存儲在run方法中讓線程運行
*條用線程的start方法
* 該方法兩個作用啟動線程調用run方法
*
*發現運行結果每一次都不同
*因為多線程都獲取cpu的執行權cpu執行到誰誰就運行
*明確一點在某一個時刻只能有一個程序在運行(多核除外)
*cpu在做快速的切換以達到看上去是同時運行的效果
*我們可以形象把多線程的運行行為在互相搶奪cpu的執行權
多線程運行具有隨機性的特點誰先搶到誰先執行至於執行時間cpu說了算*/
class Demo extends Thread
{
public Demo(String name)
{
super(name);
}
public void run()
{
for(int i=;i<;i++)
Systemoutprintln(thisgetName()++ThreadcurrentThread()+ run ok+i);
}
}
public class ThreadTest {
public static void main(String[] args) {
Demo demo=new Demo(one);
demostart();
Demo demo=new Demo(two);
demostart();
}
}
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27363.html