一、多線程 1.基本概念: (1)進程:一個進程對應一個應用程式。例如:在windows中啟動Word就表示啟動了一個進程。在java的開發環境中啟動JVM,就表示啟動了一個進程。現在電腦是支持多進程的,在同一個操作系統中,可以啟動多個進程。 (2)多進程的作用:多進程的作用不是提高執行速度,而是 ...
一、多線程
1.基本概念:
(1)進程:一個進程對應一個應用程式。例如:在windows中啟動Word就表示啟動了一個進程。在java的開發環境中啟動JVM,就表示啟動了一個進程。現在電腦是支持多進程的,在同一個操作系統中,可以啟動多個進程。
(2)多進程的作用:多進程的作用不是提高執行速度,而是為了提高CPU的使用率。
(3)記憶體:進程和進程之間的記憶體是獨立的。
(4)線程:一個進程中的執行場景,一個進程可以啟動多個線程
(5)多線程的作用:多線程不是為了提高執行速度,而是為了提高應用程式的使用率。
(6)線程和線程之間是共用“堆記憶體和方法區記憶體”的,棧記憶體是獨立的。,一個線程一個棧
二、java程式的運行原理
java命令會啟動java虛擬機,啟動JVM,等於啟動了一個應用程式,表示啟動了一個進程。該進程會啟動一個“主線程”,然後主線程去調用每個類的main方法,所以main方法運行在主線程中,在此之前的所有程式(就是講過的)都是單線程的
一個main方法就是一個線程,無論之前已經定義多少個方法
三、線程的創建與使用
1.如何定義線程
在java語言中實現多線程的第一種方式
第一步:繼承java.util.Thread
第二步:重寫run方法;
2.如何創建線程?
創建一個多線程的多態對象
3.如何啟動線程?
對象.start();
4.java中實現多線程的第二種方式
第一步:寫一個類實現java.lang.Ruan
第二步:實現run方法。
5.推薦使用第二種方式,因為一個類實現介面之外保留了類的繼承
package com.bjpowernode.java_learning; public class D103_1_MultiThread { public static void main(String[] args) { //創建線程 Thread t1 = new Processer103(); //啟動 t1.start(); //創建線程 Thread t2 = new Thread(new Processer104()); //啟動 t2.start(); } } class Processer103 extends Thread{ //重寫run方法 public void run() { for(int i=0;i<5;i++) { System.out.println(i); } } } class Processer104 implements Runnable{ public void run() { for(int i=0;i<5;i++) { System.out.println(i); } } }
四、源碼:
D103_1_MultiThread.java
https://github.com/ruigege66/Java/blob/master/D103_1_MultiThread.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料