第五天
线 程
前面我们所给出的程序例子,基本都是单线程的,即一个程序只有一条从头到尾的执行路线,然后在程序设计中,很多的时候,我们需要编写具有多线程的程序。这也就是今天要给大家说的线程的问题了。
多现成是指同时存在几个执行体,按几条不同的执行路线共同工作的情况。Java语言中,有一个重要的功能特点就是它的内置对多线程的支持,它使的变成人员可以很方便地开发出具有多线程功能,能同时处理多个任务的功能强大的应用程序。
一 .Java线程的几个概念
1)程序,进程与线程的关系 程序是一段静态的代码,它是应用软件执行的根本。 进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。做为执行蓝本的同一段程序,可以被加载到系统的不同内存区域分别执行,形成不同的进程。 线程是比进程更小的执行单位。一个进程在其执行过程能够中,可以产生 多个线程,形成多条执行线索。每条线索,即每个线程也有它自身的产生、存在和消亡过程,也是一个动态的概念。
2)线程的转台与生命周期 每个Java程序都有一个缺省的主线程,对于Application,主线程是main()方法执行的线索,对于Applet,主线程指挥浏览器加载并执行Java小程序。要想实现多线程,必须在主现成中创建新的现成对象。Java语言使用Thread类及其自类的对象来表示线程,新建的线程在它的一个完整的生命周期中通常要经历如下的五种状态: 新建:新生的线程对象出新建状态,此时,它已经有了相应的内存空间和其他资源,并已经被初始化。 就绪:处于新建状态的线程被启动后,将进入线程队列排队等待CPU时间片,此时它已经具备了运行的条件。一旦轮到它来享用CPU资源时,它就可以脱离创建它的主线程而单独开始自己的生命周期了。另外,原来处于阻塞状态的线程被接触阻塞后也将进入就绪状态。 运行:当就绪状态的线程被调度并获得处理器资源时,便进入运行状态。 阻塞:一个正在执行的线程在某些特殊情况下,让出CPU并暂时终止自己的执行,进入睡眠状态。 死亡:处于死亡状态的纤尘不具有继续运行的能力。线程死亡的原因有两个:一个是正常运行的现成完成它的全部工作后退出。另外的一个则是线程提前强制性地终止,如通过执行stop()方法或destroy()来终止线程。
好了,说了这么多,还是给大家举几个例子,配合例子给大家讲讲线程的始末吧!
二 .Java线程的例子
这个例子只是向大家说明在系统的内部,两个毫不干涉的线程个自执行的情况。从这个例子可以看到每个现成各自执行了多少次!
点击这儿查看源代码及解释
与 或 标题 全文 关键字 以上全部
·国家级治脑病新药思维源 ·中藏药治疗脑病新突破 ·治类风湿,强直性脊柱炎 ·养肾·痛风·长寿 ·肝病泌尿脑萎缩新药介绍 ·强直性脊柱炎康复乐园 ·让中医辩证不孕不育 ·国医治股骨头坏死一绝 ·乙肝为何久治不愈? ·二千元垄断批发做老板 ·中医中药专治前列腺 ·治牛皮癣白癜风已成现实 ·专治痛风病的白衣天使 ·不孕不育的杏林奇葩 ·专卖店零售管理系统