目录
什么是多线程?
如果在一个进程中同时运行了多个线程,用来完成不同的工作,成为多线程
多个线程交替占用CPU资源,而非真正的并行执行
多线程好处
充分利用CPU的资源
简化编程模型
带来良好的的用户体验
Thread类
Java提供了java.lang.Thread类支持多线程编程
主线程
main()方法即为主线程入口
产生其他子线程的线程
必须最后完成执行,因为它执行各种关闭动作
public static void main (String [] args){
Thread thread = Thread.currentThread(); // 获得主线程对象
// xxx.getName() 获取线程名
System.out.println("当前线程是:"+thread.getName());
thread.setName("MyJavaThread"); // 设置线程名
System.out.println("当前线程是:"+thread.getName());
}
//当前线程是:main
//当前线程是:MyJavaThread
在Java中创建线程的两种方式
继承java.lang.Thread类
编写简单,可直接操作线程
适用于单继承
实现java.lang.Runnable接口
避免单继承局限性
便于共享资源
推荐使用实现Runnable接口方式创建线程
使用线程的步骤
1.定义线程
// 定义MyThread类继承Thread类
public class MyThread extends Thread {
//必须要重写run方法
//run()方法中编写线程执行的代码
public void run(){}
}
2.创建线程对象
public static void main(String[] args) {
MyThread thread = new MyThread();
}
3.启动线程
thread.start(); //启动线程
4.终止线程
public class MyThread1 extends Thread{
// 重写run方法
@Override
public void run() {
for (int i = 0; i < 6; i++) {
System.out.println(Thread.currentThread().getName()+""+i);
}
}
public static void main(String[] args) {
// 获取线程对象
MyThread1 thread = new MyThread1();
// 启动线程
thread.start();
// MyThread1 thread1 = new MyThread1();
// thread1.start();
MyThread1 thread1 = new MyThread1();
thread1.run();
}
}