线程的介绍

本文介绍了线程的概念,包括程序、进程和线程的关系,以及并发与并行的区别。详细讲解了Java中线程的使用,包括通过Thread子类和实现Runnable接口两种方式。还探讨了线程在实际应用中的例子,如创建流星雨效果,强调了线程管理的重要性,以及如何保持线程活性以避免过早回收。

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

一、程序、进程和线程的关系和并发与并行的关系

线程(Thread)是执行程序的一个线(主线或者支线),每一个线程都有一个优先级(priority),线程被按照优先级的高低依次执行。当一个线程内创建了一个新的线程,新的线程的优先级就会被初始化为和已有线程一样的优先级。
进程是线程的容器,是系统进行资源分配和调度的基本单位
程序是指令、数据及其组织形式的描述,进程是程序的实体——运行的程序就是进程。
线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位。

二、线程的使用

线程的使用有两种方法,一种是创建一个Thread类的子类,另一种是创建一个继承Runnable接口的类。

1.Thread的子类

在创建一个Thread类的子类的时候,我们需要重写run();方法,在想要创建线程的时候,只需要新建对象并且调用对象的start();方法即可。具体方法如下:

//子类的创建
class SubThread extends Thread{
   
	public void run(){
   
	System.out.println("线程被调用");
	}
}
//子类对象的创建和调用
SubThread st = new SubThread();
st.start();

2.Runnable接口的使用

如果想要创建的类已经继承了一个父类,那么我们就可以使用Runnable借口,通过implements这个接口,我们可以开启一个新的线程,但在使用的时候,需要初一的是,除了需要新建一个子类对象,还要以子类的对象为参数新建一个线程。

//子类的创建
class SubRun implements Runnable{
   
	public void run(){
   
		System.out.println("线程被调用");
	}
}
//子类对象的创建和调用
SubRun sr = new SubRun();
new Thread(sr).start();

三、线程的应用

线程的简单应用:画一个粉色的流星雨吧。

1.窗口设置

在窗口这之后,我们要注意改变一下窗体的背景颜色,因为为了使流星雨能动起来,我们要不断的重新绘制画面,

package threadgame;
import java.awt.*;
import javax.swing.*;

public class GameUI {
   
	public static void main(String args[]) {
   
		GameUI gui=new GameUI();
		gui.initUI();
	}

	private void initUI() {
   
		JFrame jf=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值