全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026学年四川省资阳市四年级数学期末自测模拟知识整合题(附答案)详细答案和解析
- 七年级语文期末模拟卷(全解全析)(武汉专用)
- 2025年分级管理在线问诊医师报告
- 高中生运用化学方法比较不同食品防腐剂检测方法的成本课题报告教学研究课题报告
- 2026年安全知识融日常硬笔书法
- 河南省南阳市六校2025-2026学年高一物理上学期第一次联考试题10月【含答案】
- 高中生设计微生物培养实验评估土壤肥力状况课题报告教学研究课题报告
- 2026年初中生物教师专业素养题
- 2026年小学道德与法治情景题
- 2026年未来知识创业领域
- 2025年甘肃庆阳市地理生物会考真题试卷(+答案)
- 2026年无损检涡流检二级考核模拟题库附参考答案详解【考试直接用】
- 风险预警及处置工作制度
- 2026年春教科版(新教材)小学科学三年级下册第三单元《只有一个地球》知识点清单
- 涉密地理信息保密制度
- 《JBT 8521.2-2025编织吊索 安全性 第2部分:一般用途合成纤维圆形吊装带》专题研究报告
- GB/T 45915-2025动力锂电池运输安全及多式联运技术要求
- 2025年营运证考试测试题及答案
- 广联达软件购买协议书
- 2026年辐射安全培训职业健康试卷
- 2025商业航天员等级评定规范框架
评论
0/150
提交评论