多线程

进程是资源分配和调度的独立单位,线程是进程的一个实体,是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是多线程随机分配的不重复的主键  

原文地址:https://www.cnblogs.com/lzb0803/p/9084316.html