
一、什么是多线程进程操作系统分配资源的最小单位比如一个运行的 IDEA、浏览器。线程进程内的执行单元CPU 调度的最小单位一个进程可以包含多个线程。多线程让一个程序同时执行多个任务提高效率、充分利用 CPU。核心特点并发交替执行、并行同时执行、共享进程资源。二、线程的创建方式4 种1. 继承 Thread 类java运行class MyThread extends Thread { Override public void run() { System.out.println(线程执行 Thread.currentThread().getName()); } } // 使用 new MyThread().start(); // 必须调用 start()不是 run()2. 实现 Runnable 接口推荐java运行class MyRunnable implements Runnable { Override public void run() { System.out.println(线程执行 Thread.currentThread().getName()); } } // 使用 new Thread(new MyRunnable()).start();3. 实现 Callable 接口带返回值 抛异常java运行class MyCallable implements CallableInteger { Override public Integer call() throws Exception { return 100; } } // 使用 FutureTaskInteger task new FutureTask(new MyCallable()); new Thread(task).start(); // 获取返回值 Integer res task.get();4. 线程池企业开发唯一推荐java运行ExecutorService pool Executors.newFixedThreadPool(3); pool.execute(() - { System.out.println(线程池执行); }); pool.shutdown();三、线程的生命周期6 种状态NEW新建未启动RUNNABLE可运行正在运行 / 等待 CPUBLOCKED阻塞等待锁WAITING等待无时限等待TIMED_WAITING定时等待TERMINATED终止记忆口诀新、可、阻、等、时等、终。四、线程常用 APIjava运行Thread.currentThread(); // 获取当前线程 thread.start(); // 启动线程 thread.sleep(1000); // 休眠1秒不释放锁 thread.join(); // 等待该线程执行完 thread.yield(); // 让出CPU执行权 thread.setName(); // 设置线程名 thread.setPriority(1~10);// 设置优先级 thread.interrupt(); // 中断线程标记 thread.isAlive(); // 是否存活