android 基础4

认识线程(Thread) 模式

进程与线程的区别与联系

 进程,是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位。每一个进程都有一个自己的地址空间,即进程空间或(虚空间)。进程空间的大小 只与处理机的位数有关,一个 16 位长处理机的进程空间大小为 216 ,而 32 位处理机的进程空间大小为 232 。进程至少有 5 种基本状态,它们是:初始态,执行态,等待状态,就绪状态,终止状态。

线程,在网络或多用户环境下,一个服务器通常需要接收大量且不确定数量用户的并发请求,为每一个请求都创建一个进程显然是行不通的,——无论是从系统资源开销方面或是响应用户请求的效率方面来看。因此,操作系统中线程的概念便被引进了。线程,是进程的一部分,一个没有线程的进程可以被看作是单线程的。线程有时又被称为轻权进程或轻量级进程,也是 CPU 调度的一个基本单位。


Android采取Java的Thread框架,来协助建立多条线程并行的环境。

在Java里,撰写一个类别支持Runnable接口,在搭配Thread基类,就能顺利诞生一个新线程 

来执行该类别的run()函数。


认识Android的主线程(处理UI线程,又称UI线程)

UI线程的诞生:

当我们启动一只APP时,Android就会诞生新进程(Process),并且将该APP程序加载在新诞生的进程里。

每个进程在其诞生时刻,都会诞生一个主线程,又称UI线程。

在进程诞生时刻,除了诞生主线程之外,还会替主线程诞生它专用的Message Queue 和 Looper.


View控件是有UI线程(主线程)所执行,如果需要去迅速更新UI画图或者UI画图需要较长时间(避免阻塞主线程),

就使用SurfaceView.它可以有背景线程(background thread)来执行,而View只能有UI线程执行画面显示或更新。

在SurfaceView里,非UI线程可以去触碰UI显示。例如将图形绘制在Surface画布上,这SurfaceView内含

高效率的rendering机制,能让背景线程快速更新surfaceView的内容,适合演示动画。


如何解决线程安全问题?

同步(synchronization)化解线程安全问题。

使用synchronized机制可以错开两个线程。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值