【Java多线程】$1 Thread

1. 线程与进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。

2.java线程的实现方式

2.1 继承 Thread类

调用 Thread的start方法将产生异步调用

2.2 实现 Runnable接口

3.线程操作常见方法

3.1 currentThread()

currentThread() 方法可返回代码段正在被哪个线程调用的信息。

3.2 isAlive()

isAlive() 的功能是判断当前的线程是否处于活动状态

3.3 sleep()

方法sleep()的作用在指定的毫秒数内让当前“正在执行的线程”休眠(暂停执行)。这个“正在执行的线程”指的是this.currentThread()返回的线程

3.4 getId()

获取线程唯一标识

4. 停止线程的方式

4.1 interrupt()方法做线程停止标记

此方法在当前线程做了一个暂停的标记,并不会真正停止线程,需要程序控制停止

4.2 interrupted() and isInterrupted() 方法判断是否停止状态

- this.interrupted() :
测试当期线程是否已经中断 static方法,会清楚之前做的停止标记(让interrupt()失效)

- this.isInterrupted() :
测试线程是否已经中断

4.3 使用异常法停止线程

听过调用 this.interrupted() 方法,判断是否已经停止线程,如果已经停止,则手动抛出InterruptedException异常来停止线程的执行

5. 线程优先级

  • 继承性
  • 规则性
  • 随机性

6.守护线程

Thread.setDaemon(true) 的方式创建守护线程,典型的垃圾回收线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值