Java线程

本文详细介绍了Java中的线程概念,包括进程与线程的区别、线程的四种状态、单线程与多线程的执行以及并发与并行的差异。创建线程主要有两种方式:继承Thread类和实现Runnable接口,各有优缺点。通过Thread类创建线程可以方便地操作线程,而实现Runnable接口则避免了单继承的限制,适合资源共享。文章还列举了Thread类中用于控制线程的方法,如join、interrupt和yield。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.线程的基本概念

1、进程是指运行中的程序,比如使用qq就是启动一个继承就会为该进程分配空间。进程是程序的一次执行过程或者是正在运行的一个程序。

2.线程是由进程创建的,是进程的一个实体,一个进程可以拥有多个线程。

(1)单线程:同一时刻,指允许执行一个线程。

(2)多线程:同一时刻,可以执行多个线程,比如一个QQ进程可以同时打开多个聊天窗口,一个迅雷进程,可以下载多个文件。

(3)并发:同一时刻,多个任务交替执行

(4)并行:同一时刻,多个任务同时执行。多核CPU可以实现并行。

(5)使用一个线程的过程可以分为以下4个步骤:的代码,即期望完成的功能。

第一步:定义一个线程,同时指明这个线程所要执行
第二步:创建线程对象。
第三步:启动线程
第四部:终止线程。
(6)定义一个线程类通常有两种方法,分别是继承j ava.lang.Thread类和实现java.lang.Runnable接口。

3.使用继承Thread类创建线程的方法:

(1)创建线程时继承Thread类和重写Thread类中的run()方法,编写线程执行体。

Thread类的run方法时线程要执行操作任务的方法,所以要执行的操作代码都需要写在run()方法中,并通过start()方法来启动线程。

4.使用Runnable接口创建线程

(1)使用继承Thread类的方式创建线程简单,但有一个缺点,如果定义的类已经继承其他无法在继承Thread类。使用Runnable接口可以解决以上问题。

--》Runnable接口中声明了一个run()方法,即public void run()。
--》一个类可以通过实现Runnable接口并实现run()方法完成线程的所有活动,已实现的run()方称为该对象的线程体。
-》任何一个实现Runnable接口的对象都可以作为
一个线程的目标对象。

5.比较两种创建线程的方式。

(1)继承Thread类编写简单,可直接操作线程,适用于单线程。

(2)实现Runnaable类接口避免单继承局限性和便于共享资源。

注意:推荐使用实现Ruabble接口方法创建线程。

6.使用Thread类创建线程支持多线程编程,该类提供大量的方法来控制和操作线程,常用方法如下;

long getId()返回线程的标识符。

String getName()返回线程的名称

int getPriority()返回线程的优先级。

Thread.State getState()返回线程的状态。

void join()等待该线程终止

void interrupt()中断线程

void yeild()暂停当前正在执行的线程对象,并执行其他线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值