【Android多线程】线程二三事

本文介绍了Android的三种线程类型:UI线程(主线程),Binder线程和Background线程。UI线程负责显示和更新UI,不允许其他线程更新。Binder线程用于进程间通信,通常在App中自动创建。Background Thread是App显式创建的线程,不直接处理UI更新。此外,还讲述了如何通过ps命令查看Android进程和线程信息。
摘要由CSDN通过智能技术生成

Android中线程大致可分为3类:UI线程,Binder线程和Background线程。

UI Thread

UI线程也就是我们常说的主线程(Main Thread),在App启动时默认被创建,主要是负责UI的显示、更新和控件交互。Android中UI的更新只允许在UI线程完成,这是因为Android UI Toolkit并非线程安全(且实现线程安全也是一件非常困难的事情),所以Android运行时通过只允许UI线程更新UI的方式保证安全性。如果其他线程尝试更新UI,会得到CalledFromWrongThreadException。

Binder Thread

Binder是Android中特有的进程间通信(Intent-Process Communication)机制。Android中的进程可能需要响应来自其他进程的请求,比如系统服务(system service),内容提供器(content provider)等。这时Binder线程会被自动创建用于进程间的消息传递。通常App本身并不需要关心Binder线程,因为来自其他进程的消息都会被转到UI线程,比如Service的各种回调,除非是App自己定义的AIDL(Android Interface Definition Language)接口。

Background Thread

所有App显式创建的线程都属于后台线程。这里所谓的UI Thread和Background Thread的概念属于Android特有的特性(And

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值