1、多線程java
1.基本概念:node
(1)進程:一個進程對應一個應用程序。例如:在windows中啓動Word就表示啓動了一個進程。在java的開發環境中啓動JVM,就表示啓動了一個進程。如今計算機是支持多進程的,在同一個操做系統中,能夠啓動多個進程。git
(2)多進程的做用:多進程的做用不是提升執行速度,而是爲了提升CPU的使用率。github
(3)內存:進程和進程之間的內存是獨立的。windows
(4)線程:一個進程中的執行場景,一個進程能夠啓動多個線程微信
(5)多線程的做用:多線程不是爲了提升執行速度,而是爲了提升應用程序的使用率。多線程
(6)線程和線程之間是共享「堆內存和方法區內存」的,棧內存是獨立的。,一個線程一個棧學習
2、java程序的運行原理大數據
java命令會啓動java虛擬機,啓動JVM,等於啓動了一個應用程序,表示啓動了一個進程。該進程會啓動一個「主線程」,而後主線程去調用每一個類的main方法,因此main方法運行在主線程中,在此以前的全部程序(就是講過的)都是單線程的ui
一個main方法就是一個線程,不管以前已經定義多少個方法
3、線程的建立與使用
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); } } }
4、源碼:
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.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料