多线程 Thread
一、概念
1、进程
程序静止状态就是软件、应用, 运行中的程序称之为进程
宏观并行 微观串行
2、线程
进程的子进程 是进程中一条顺序控制流程
宏观并行 微观串行
二、线程组成
1、时间片 CPU分配的时间片段(5-20ms)
2、操作数据
栈:存储局部变量 线程独立
堆:存储对象 线程共享
3、程序[代码]
(1)创建线程方式一 继承Thread类 覆盖run方法
启动:new Thread1().start() // start()方法表示启动线程
(2)创建线程方式二 实现Runnable接口 实现run方法
启动:new Thread(new Thread2()).start() // start()方法表示启动线程
三、线程状态
阻塞状态
四、线程异步
方法同步
线程异步
五、线程安全
线程安全问题:多线程并发访问临界资源时,破坏了原子操作,可能导致操作数据不一致
临界资源 : 多线程共同操作的数据
原子操作 : 不可分割的整体 转账
六、解决方案【线程同步】
加锁
锁:互斥锁标记 资源的保护形式
在同一时间只支持一条线程操作,并且释放锁标记后才能供其他线程操作
语法:使用 synchronized 修饰
修饰:
代码块【同步代码块】
synchronized(临界资源对象){
//原子操作
}
方法【同步方法】
public synchronized void ma(){
//原子操作
}
java 多线程 Thread
最新推荐文章于 2024-07-10 21:37:49 发布