全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java多线程编程基础之线程和多线程 随着计算机技术的发展,编程模型也越来越复杂多样化。但多线程编程模型是目前计算机系统架构的最终模型。随着CPU主频的不断攀升,X86架构的硬件已经成为瓶,在这种架构的CPU主频最高为4G。事实上目前3.6G主频的CPU已经接近了顶峰。 如果不能从根本上更新当前CPU的架构(在很长一段时间内还不太可能),那么继续提高CPU性能的方法就是超线程CPU模式。那么,作业系统、应用程序要发挥CPU的最大性能,就是要改变到以多线程编程模型为主的并行处理系统和并发式应用程序。所以,掌握多线程编程模型,不仅是目前提高应用性能的手段,更是下一代编程模型的核心思想。多线程编程的目的,就是最大限度地利用CPU资源,当某一线程的处理不需要占用CPU而只和I/O,OEMBIOS等资源打交道时,让需要占用CPU资源的其它线程有机会获得CPU资源。从根本上说,这就是多线程编程的最终目的。第一需要弄清的问题如同程序和进程的区别,要掌握多线程编程,第一要弄清的问题是:线程对象和线程的区别。线程对象是可以产生线程的对象。比如在java平台中Thread对象,Runnable对象。线程,是指正在执行的一个指点令序列。在java平台上是指从一个线程对象的start()开始,运行run方法体中的那一段相对独立的过程。鉴于作者的水平,无法用更确切的词汇来描述它们的定义。但这两个有本质区别的概念请初学者细细体会,随着介绍的深入和例程分析的增加,就会慢慢明白它们所代表的真实含义。天下难事必始于易,天下大事必始于细。让我们先从最简单的单线程来入手:(1)带引号说明只是相对而言的单线程,(2)基于java。1 class BeginClass2 3 public static void main(String args)4 5 for(int i=0;i100;i+)6 7 System.out.println(Hello,World!);8 9 10 11 12 13如果我们成功编译了该java文件,然后在命令行上敲入:1 java BeginClass现在发生了什么呢?每一个java程序员,从他开始学习java的第一分钟里都会接触到这个问题,但是,你知道它到底发生发什么?JVM进程被启动,在同一个JVM进程中,有且只有一个进程,就是它自己。然后在这个JVM环境中,所有程序的运行都是以线程来运行。JVM最先会产生一个主线程,由它来运行指定程序的入口点。在这个程序中,就是主线程从main方法开始运行。当main方法结束后,主线程运行完成。JVM进程也随之退出。我们看到的是一个主线程在运行main方法,这样的只有一个线程执行程序逻辑的流程我们称之为单线程。这是JVM提供给我们的单线程环境,事实上,JVM底层还至少有垃圾回收这样的后台线程以及其它非java线程,但这些线程对我们而言不可访问,我们只认为它是单线程的。主线程是JVM自己启动的,在这里它不是从线程对象产生的。在这个线程中,它运行了main方法这个指令序列。理解它,但它没有更多可以研究的内容。接触多线程1 class MyThread extends Thread2 3 public void run()4 5 System.out.println(Thread say:Hello,World!);6 7 8 9 10 11 public class MoreThreads12 13 public static void main(String args)14 15 new MyThread();16 17 new MyThread().start();18 19 System.out.println(Main say:Hello,World);20 21 22 23 24 25执行这个程序,main方法第一行产生了一个线程对象,但并没有线程启动。main方法第二行产生了一个线程对象,并启动了一个线程。main方法第三行,产生并启动一个线程后,主线程自己也继续执行其它语句。我们先不研究Thread对象的具体内容,稍微来回想一下上面的两个概念,线程对象和线程。在JAVA中,线程对象是JVM产生的一个普通的Object子类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 14386-2025平压两用木工刨床术语和精度
- TCECS 1593-2024 木结构古建筑抗震鉴定标准
- TCECS 1579-2024 绿色低碳有轨电车线路评价标准
- 亲属借款没协议合同
- 代理公司注销协议书
- 区域医疗平台协议书
- 冻库门更换合同范本
- 农村划地建房协议书
- 武汉经济技术开发区轨道办及部分产业园区2025年下半年工作人员招考易考易错模拟试题(共500题)试卷后附参考答案
- 广西西林县公开招考聘用事业单位工作人员171人易考易错模拟试题(共500题)试卷后附参考答案
- 部队提干考试真题及答案
- 医院纪检干部培训课件
- 智能制造+工业机器人行业白皮书方案2025年市场前景展望
- 化妆品安全管理培训资料课件
- 药品监管知识培训课件
- 2025党校中青班入学考试试题及答案
- 通信安全生产考题及参考答案
- 租赁储罐管理办法
- 《Access数据库》课程标准
- 宁夏交通投资集团有限公司招聘笔试题库2025
- 岗位评估管理暂行办法
评论
0/150
提交评论