1. 什么是线程
线程,又称轻量级进程。进程中的一条执行路径,也是CPU的基本调度单位。一个进程由一个或多个线程组成,彼此间完成不同的工作,同时执行,成为多线程。
1.2 进程和线程的区别
(1)进程是操作系统资源分配的基本单位,而线程是CPU的基本调度单位。
(2)一个程序运行后至少有一个进程。
(3)一个进程可以包含多个线程,但是至少需要有一个线程,否则这个进程是没有意义的。
(4)进程间不能共享数据段地址,但是同进程的线程之间可以。
1.3 获取和修改线程ID和线程名称:
获取线程ID和线程名称:
a. 在Thread的子类中调用this.getId()或this,getName()
b. 使用Thread,currentThread().getId()和Thread.currentThread.getName()
修改线程名称:
a. 调用线程对象的setName()方法
b. 使用线程子类的构造方法赋值
2. 线程的创建方式
(1)继承Thread类,重写run方法
package demo01;
public class MyThread extends Thread{
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("线程---------------"+i);
}
}
}
测试类:
package demo01;
public class Test01 {
public static void main(String[] args) {
//创建一个线程对象
MyThread m1 = new MyThread();
//开启线程 执行时会调用run方法
m1.start();
for (int i = 0; i < 10; i++) {
System.out.println("主线程**********"+i);
}
}
}
(2)实现Runnable接口
package demo03;
public class TicketSell implements Runnable{
private static int total = 100;
private Object object = new Object();
@Override
public void run() {
while (t