一,多线程
1、什么是多线程
如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为“多线程”
多个线程交替占用CPU资源,而非真正的并行执行
2、多线程好处
充分利用CPU的资源
简化编程模型
带来良好的用户体验
二,主线程
1、Thread类
Java提供了java.lang.Thread类支持多线程编程
2、主线程
- main()方法即为主线程入口
- 产生其他子线程的线程
- 必须最后完成执行,因为它执行各种关闭动作
public static void main(String args[]) {
// 主线程
Thread t= Thread.currentThread();
// 主线程名字:main
System.out.println("当前线程是: "+t.getName());
// 修改主线程名字为:MyJavaThread
t.setName("MyJavaThread");
System.out.println("当前线程名是: "+t.getName()); }
三、线程
1、线程的创建和启动
在Java中创建线程的两种方式
- 继承java.lang.Thread类
- 实现java.lang.Runnable接口
2、使用线程的步骤
3、继承Thread类创建线程
- 定义MyThread类继承Thread类
- 重写run()方法,编写线程执行体
- 创建线程对象,调用start()方法启动线程
public class MyThread extends Thread{
//重写run()方法
public void run(){
for(int i=1;i<100;i++){
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
}
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start(); //启动线程
}
多个线程交替执行,不是真正的“并行”
线程每次执行时长由分配的CPU时间片长度决定
线程方法
1、比较两种创建线程的方式
继承Thread类
- 编写简单,可直接操作线程
- 适用于单继承
实现Runnable接口
- 避免单继承局限性
- 便于共享资源
2、线程的状态