java多线程001-线程基本概念

1、了解进程与线程的概念。

(1)进程就是一个正在执行中的程序(例如:qq)。

(2)每一个进程执行都有一个执行顺序,该顺序是个执行路径

,或者叫一个控制单元

(3)线程就是进程中一个独立的控制单元,就是一条执行路径。

(4)线程控制着进程的执行。

(5)java vm 启动的时候会有一个进程java.exe,该进程中至少有一个线程负责java程序的执行,

而且这个线程运行的代码存在于main方法中,该线程称之为主线程。

(5)jvm是多线程的,垃圾回收、运行主线程等等

(6)在某一时刻,只能有一个程序在运行(多核除外)。

(7)多线程随机性,谁抢到谁执行,至于执行多长,cpu来决定

2、java创建线程的两种方式:继承Thread与实现Runnble

(1)今天先说Thread,见下面例子:

class DemoThread extends Thread {

    public DemoThread(String name) {

        super(name);

    }

    public void run() {//重写Thread类的run方法,把自己需要实现的东西,写进去

        System.out.println("刘峰 run");

        for(int i = 0 ; i < 500; i++) {

            System.out.println(Thread.currentThread().getName()+"------"+i);

        }

    }

}

class Test {

    public static void main(String[] args) {

        DemoThreadd = newDemoThread1("liufeng");

        DemoThreadd = newDemoThread2("刘峰");

        d1.start();

        d2.start();

    }

}

(2)run方法存储的是线程要执行的代码

(3)启动线程,调用start方法(调用run方法,不是启动线程,只是方法调用)

(4)static Thread currentThread():获取正在运行的线程的线程对象(这是Thread类的静态方法)

(5)main也是一个线程,是主线程,由jvm调用

(6)线程的生命周期:


java多线程001-线程基本概念_第1张图片

从新浪博客搬过来的:http://blog.sina.com.cn/s/blog_818367a30102uwyc.html

你可能感兴趣的:(java多线程001-线程基本概念)