- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java线程是Java语言中一个非常重要的组成部分,在Java5.0之前,多线程的语言支持还比较弱,写一个多线程的负责程序是相当有挑战性的。在Java5.0之后,Java对多线程做了很多扩展,这部分内容大大增强了Java多线程编程的能力,可以很容易就实现多线程的复杂程序。本章在简单的介绍了进程与线程的区别、线程的创建、启动、休眠和中断的方法后,又详细的描述了Android主线程UI线程和Android消息传递机制,最后通过一个完整的android案例的实现,讲述了Handler消息传递机制和Timer定时器的具体使用方法。 学习这一章应把注意力放在线程同步技术和Handler消息传递机制上,这在android工程创建中应用非常广泛。 6.1 案例展现 6.2 线程概述 6.2.1进程和线程 6.2.2 Android主线程 6.3线程类(Thread) 6.3.1 Thread的属性和方法 6.3.2创建和启动新线程 6.3.3子线程的休眠、中断 6.3.4建立线程类 6.4 定时器Timer 6.5 Handler消息传递机制 6.5.1 Looper简介 6.5.2 Handler简介 6.5.3 Message简介 6.6 案例实现 本章小结 1.新建(new Thread) 当创建Thread类的一个实例(对象)时,此线程进入新建状态(未被启动)。 2.就绪(runnable) 线程已经被启动,正在等待被分配给CPU时间片,也就是说此时线程正在就绪队列中排队等候得到CPU资源。 3.运行(running) 线程获得CPU资源正在执行任务(run()方法),此时除非此线程自动放弃CPU资源或者有优先级更高的线程进入,线程将一直运行到结束。 4.死亡(dead) 当线程执行完毕或被其它线程杀死,线程就进入死亡状态,这时线程不可能再进入就绪状态等待执行。 自然终止:正常运行run()方法后终止 异常终止:调用stop()方法让一个线程终止运行 5.堵塞(blocked) 由于某种原因导致正在运行的线程让出CPU并暂停自己的执行,即进入堵塞状态。 正在睡眠:用sleep(long t) 方法可使线程进入睡眠方式。一个睡眠着的线程在指定的时间过去可进入就绪状态。 正在等待:调用wait()方法。(调用motify()方法回到就绪状态) 被另一个线程所阻塞:调用suspend()方法。(调用resume()方法恢复) 1.进程 进程是指每个独立程序在计算机上的一次执行活动。例如,运行中的记事本程序、运行中的音乐播放器程序等。运行一个程序,就是启动了一个进程。多进程就是允许多窗口操作。 2.线程 线程是比进程更小的执行单元,基于线程的多任务处理就是一个程序可以执行多个任务,比如如今流行的视频播放软件,可以一边下载,一边播放,这就是存在下载和播放两个线程。 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。 进程和线程的关系: 1.一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 2.资源分配给进程,同一进程的所有线程共享该进程的所有资源。 3.处理机分给线程,即真正在处理机上运行的是线程。 4.线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。 1.调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 2.并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 3.拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. 4.系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。但是进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个进程死掉就等于所有的线程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。 结论: 1.线程是进程的一部分 2.CPU调度的是线程 3.系统为进程分配资源,不对线程分配资源 在一个Android 程序开始运行的时候,会单独启动一个进程。默认的情况下,所有这个程序中的Activity或者Service都会在这个进程中运行。一个Android 程序默认情况下只有一个进程,但一个进程下却可以有许多个线程。在这么多线程当中,有一个线程,我们称之为UI 线程。 Thread类是Java提供的用来创建线程的父类,综合了线程所需要的属性和方法,可以使用该类创建线程、进行线程的操作和设置线程优先级等操作。 Java中提供了两种创建新线程的方法。 1.将类定义为T
您可能关注的文档
- 《旅游礼仪》教学教案(全).doc
- 《物业管理概论》教学课件(全).ppt
- 《新媒体美工设计(全彩慕课版)》教学教案.doc
- 《电子支付与结算(第3版)》教学课件01电子支付概述.pptx
- 《电子支付与结算(第3版)》教学课件02支付工具与支付方式.pptx
- 《电子支付与结算(第3版)》教学课件04电话支付.pptx
- 《电子支付与结算(第3版)》教学课件05移动支付.pptx
- 《电子支付与结算(第3版)》教学课件06自助银行支付.pptx
- 《Java物联网程序设计基础》教学课件—第1章 欢迎进入Java世界—开发环境搭建.pptx
- 《综合布线系统技能实训教程》教学课件第2章 综合布线系统常用器材和工具.ppt
- 兴业证券-国际宏观-美国财政整顿:是空谈还是实干?.pdf
- 中信建投-钢铁-供给侧追踪-1-:钢铁新一轮改革开启.pdf
- 华福证券-五洲新春-603667-全球精密制造领域技术领先者,拓展机器人和新能源市场.pdf
- 华源证券-百润股份-002568-预调龙头、行稳致远.pdf
- 国信证券-北交所2025年2月月报:北交所成交活跃度显著提升,北证50领跑市场主要指数.pdf
- 太平洋证券-蜜雪集团-02097.HK-蜜雪冰城:供应链壁垒与下沉红利双轮驱动,全球化打开长期空间.pdf
- 民生证券-禾盛新材-002290-首次覆盖报告:家电主业稳步推进,拥抱AI开启新篇.pdf
- 中信期货-3月FOF配置月报:外资私募进入中国市场的机遇与挑战.pdf
- 医药行业:中国细胞级抗皱护肤蓝皮书.pdf
- 通用无障碍建筑规范检查清单.pdf
最近下载
- 过程设备设计版(郑津洋)课后习题答案.doc VIP
- 人工智能重塑传媒-揭秘AI在传播优化中的应用.pptx
- 党员个人小结 党员个人总结.doc VIP
- 2024年高考物理(河北卷)试卷评析及2025高考备考策略 课件.pptx
- F591031【复试】2024年西安理工大学085600材料与化工《复试701材料工程基础》考研复试.pdf
- 4800种有机物的安托因五常数数据查询及饱和蒸气压计算.xlsx
- 管理人员能力测评(含答案和诊断结果).pdf VIP
- 2025年江西水利职业学院单招职业技能测试题库完整.docx VIP
- 广东台山市大湾水务有限公司招聘笔试题库2025.pdf
- 学生党员个人总结.doc VIP
文档评论(0)