多线程大白话(●—●)

 

目录

🤗进程和线程的理解

🧡实现多线程的主要方法

继承Thread类

继承Runnable类


💟这里是CS大白话专场,让枯燥的学习变得有趣!

💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!

💟好记性不如烂键盘,自己总结不如收藏别人!

🤗进程和线程的理解

🍠程序:指令和数据的有序集合,是一个静态的概念。

🍠进程:执行程序的一次执行过程,是一个动态的概念,是系统资源分配的单位。

🍠线程:一个进程可以包含若干线程,至少一个线程,是CPU调度和执行的单位。

🧡实现多线程的主要方法

继承Thread类

🍠自定义线程类继承Thread类

🍠重写run()方法,编写线程执行体

🍠创建线程对象,调用start()方法启动线程

 

public class TestThread extends Thread{
	//子线程
    @Override
	public void run() {
		for(int i=1; i<=200; i++) {
			System.out.println("子线程"+i);
		}
	}

    //主线程
	public static void main(String[] args) {
		TestThread thread1 = new TestThread();

		//启动线程
		thread1.start();

        for(int i=1; i<=1000; i++) {
			System.out.println("主线程"+i);
		}
	}
}

💌线程不一定立即执行,由CPU调度安排。

继承Runnable类

🍠继承Runnable类

🍠重写run()方法,编写线程执行体

🍠创建线程对象,丢入Runnable接口实现类,调用start()方法启动线程

public class TestThread extends Runnable{
	//子线程
    @Override
	public void run() {
		for(int i=1; i<=200; i++) {
			System.out.println("子线程"+i);
		}
	}

    //主线程
	public static void main(String[] args) {
		TestThread thread1 = new TestThread();

		//启动线程
		new Thread(thread1).start();

        for(int i=1; i<=1000; i++) {
			System.out.println("主线程"+i);
		}
	}
}

💌避免单继承局限性,方便同一个对象被多个线程使用。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值