Android 多线程笔记

本文详细探讨了Android多线程的实现,包括Java Thread类的使用,Looper和HandlerThread如何实现消息处理,Android Handler线程间通信的机制,synchronized关键字的同步作用,以及wait、sleep、join、yield等线程控制方法的详解,并介绍了读写锁的概念和应用。
摘要由CSDN通过智能技术生成
1.Java Thread类
(1)java.lang.Thread执行了Runnable接口
(2)构造方法 Thread(ThreadGroup group, Runnable target, String name, long stackSize)
 	*group	:指定当前线程的线程组,未指定时线程组为创建该线程所属的线程组
	*target	:指定运行其中的Runnable,一般都需要指定,不指定的线程没有意义,或者可以通过创建Thread的子类并重新run方法
	name	:线程的名称,不指定自动生成
	stackSize:预期堆栈大小,不指定默认为0,0代表忽略这个属性。与平台相关,不建议使用该属性。
(3)yield()&sleep(0)方法效果等同
(4)interrupt()、join(long,int)等待线程终止、start()等方法都是Native方法的一层代理封装
(5)ThreadGroup存储Group对象:1.可以通过uncaughtException(Thread,Throwable)来捕获线程组内线程未捕获异常;2.可以interrupt()组内所有线程
2.Looper/HandlerThread类
(1)android.os.Looper是Android为消息循环队列添加的类,一个Looper维护一个MessageQueue
(2)android.os.HandlerThread是java.lang.Thread的一个子类,只不过在run()方法中调用Looper.prepare()初始了这个线程的Looper消息队列
 *Looper.prepare()	:在LocalThread注册当前Thread的Looper(这里的LocalThread可以理解成为一个静态map)
*Loope
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值