多线程

定义:同时对多项任务加以控制

多线程:

进程:一个内存中正在运行的一个应用程序。

线程:进程中的一个执行流程。

多线程:

进程中有两个或两个以上并发的执行流程。

每个流程是一个线程。

每个线程都有自己的任务。

----------------

线程的状态:

1.新建;

2.就绪;

3.运行;

4.阻塞;

5.死亡;

---------------------

阻塞:

1.sleep()

join()

2.wait()

3.同步

-----------------------

一个应用程序启动一定会启动两个线程。

主线程和垃圾回收线程。

------------------

创建子线程方法:

1.继承Thread

实现run方法 方法内实现任务

线程名.start(); 来开始线程

Thread.sleep(1000); 暂停1s

2.实现Runnable接口

必须实现run方法 方法内实现任务

创建线程

将创建的线程当参数传入一个线程中

可以共享资源

多个线程执行一个线程

   

多个线程处理一件事时加同步锁

---------------------

线程的状态

   

线程常用方法

7.join(); 等待该线程种植

8.interrupt();中断线程

----------------------------

线程同步:

某一时刻,线程处于线程独占状态。(有且只有一个线程进入方法)

方式:

1.同步方法

public synchronized void run(){

代码

}

在方法返回值类型前加synchronized

2.同步代码块

sychronized (对象){

代码;

}

效果与同步方法相同

----------------------------

继承Thread和实现Runnable的区别:

1.继承Thread类,

会继承Thread类中的所有方法;

实现接口 只有 run()方法;

2.实现 Runnable更有利于资源共享

(对同一对象操作)

--------------------------------

线程优先级:

1-10 (高)

-----------------------

原文地址:https://www.cnblogs.com/ChengR/p/11756008.html