---------------------- android培训、java培训、期待与您交流! ----------------------
多线程:
一:概述
在一个进程中有多条执行路径.
A:进程 正在执行的程序,它代表着应用程序的执行区域.
B:线程 进程的执行路径.
**如果一个进程中一个一个线程,那么该程序就是单线程程序.
**如果一个进程中有多个线程,那么该程序就是多线程程序.
举例:请人吃饭
360管理界面中,杀毒,清理垃圾可以同时执行.
迅雷下载
二:jvm的启动是多线程的还是单线程的.
A:多线程的.
**为什么
**垃圾回收机制这个线程不可能是在程序执行完毕后才启动的,
否则的话,我们的程序很容易出现内存溢出.
**举例: 我爱吃西瓜
三:创建线程的方式
A:继承Thread类
**步骤
**线程的随机性
**线程的生命周期
B:实现Runnable接口
**步骤
问题:考虑,为什么有了Thread类还需要Runnable接口.
四:多线程的安全问题
A:线程访问的延迟
B:线程的随机性
(6)同步解决线程安全问题
A:同步代码块
**同步的前提
***同步需要两个或两个以上的线程
***多个线程使用的是同一个锁
**同步的好处 提高了安全性
同步的弊端 效率较低
安全性和效率是你们一直要考虑的问题,而且很多时候,他们是对立的关系.
B:同步函数
同步函数使用
A:用synchronized关键字修饰方法即可.
public synchronized void show()
{
//需要同步的代码块
}
同步函数使用的锁
同步函数使用是this对象锁.
五:死锁
(1)产生原因
假如有A和B两个锁,在A锁中要使用B锁,在B锁中要是A锁,而他们都不想让,最终导致了死锁.
(2)如果解决
不同时在A锁中用B锁,B锁中用A锁.
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.youkuaiyun.com/heima
1272

被折叠的 条评论
为什么被折叠?



