多线程
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 (高)
-----------------------
以上是关于多线程的主要内容,如果未能解决你的问题,请参考以下文章