目录
💟这里是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);
}
}
}
💌避免单继承局限性,方便同一个对象被多个线程使用。