多线程(Thread):
程序:一段静态的代码的组合
进程:程序的一次运行
线层:线程就是轻量级进行
线程和线程之间采用抢占硬件资源的方式(多线程效率高)
线程的五种状态:1.创建2.就绪3.运行4.阻塞5.结束
创建多线程(本身有个主线程main)的两种常用方式:
一.继承线程(继承Thread类)
1.自己写一个线程类,继承Thread类
2.new线程类的对象,调用start方法
二.实现接口(Runnable接口)
1.自己写一个类,实现Runnable接口
2.创建该类的运行对象,new Thread的对象,把对象传入。
3.调用start方法
线程安全:【同步代码块】:synchronized(关键字)(Object.class){ }
【使用同步方法】:
锁是啥?:1.成员方法:锁是this (会出现线程安全问题)
2.静态方法:锁是这个类的class对象(不会出现线程安全问题)
线程的死锁:
线程池:用于存放多个可重复的利用的线程,当前任务的时候,就分配一个线程去执行,执行完毕后,线程不销毁,放回线程池中。
为什么需要线程池?创建线程和销毁线程的过程笔记浪费资源,销毁线程会给jvm压力。
ThreadPoolExecutor(线程池)
参数:(corePoolSize(核心线程数量)maximumPoolSize(最大线程数量)keepAlveTime(无任务是,线程保存多久)unit(时间单位)workQueue(工作对列))
线程的通信:wait和notifyAll和notify
多线程
最新推荐文章于 2024-03-17 21:20:55 发布