多线程
进程是资源分配和调度的独立单位,线程是进程的一个实体,是CPU调用和分配的基本单位
创建线程:
一、继承Thread类
public class CreateThread extends Thread {
/**
* run方法执行 需要线程执行的任务,代码。
*/
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("run() i:" + i);
}
}
}
启用线程,调用start方法,调用run方法相当于主线程main在执行
二、实现Runnable接口:
public class CreateRunnable implements Runnable {
/**
* run方法 执行 线程需要执行的任务 执行的代码
*/
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("run() i:" + i);
}
}
}
三、使用匿名内部类:
public class ThreadDemo4 {
public static void main(String[] args) {
System.out.println("创建线成功!");
//使用匿名内部类方式创建线程
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("run() i:" + i);
}
}
}).start();
}
sleep()是让主线程从运行状态变为休眠状态,如果时间过期就会变成运行状态,sleep不能释放锁资源
线程id,id是多线程随机分配的不重复的主键