多线程

Posted chengr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程相关的知识,希望对你有一定的参考价值。

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

多线程:

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

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

多线程:

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

每个流程是一个线程。

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

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

线程的状态:

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 (高)

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

以上是关于多线程的主要内容,如果未能解决你的问题,请参考以下文章

什么是多线程,多进程?

多线程和多进程模式有啥区别

多线程Java多线程学习笔记 | 多线程基础知识

java中啥叫做线程?啥叫多线程?多线程的特点是啥

c++ 多线程与c多线程有啥区别?

IOS多线程安全(线程锁)