当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十二讲 多线程

资源类别:文库,文档格式:PPT,文档页数:28,文件大小:269KB,团购合买
一、 什么是并行计算?为什么要采用并行计算? 二、并行计算功能一般是由OS提供的。 三、 在多CPU的计算机上,多线程(multithreading)可以实现并行计算。
点击下载完整版文档(PPT)

第十二讲多线程 21/2/24 北京理工大学计算机系(共28页)

2021/2/24 北京理工大学计算机系(共28页) 1 第十二讲 多线程

介绍 ■什么是并行计算?为什么要采用并行计 算? 并行计算功能一般是由OS提供的。 ■在多CPU的计算机上,多线程 ( multithreading可以实现并行计算。 ■]ava提供了内嵌多线程的功能 21/2/24 北京理工大学计算机系(共28页)

2021/2/24 北京理工大学计算机系(共28页) 2 介绍 ◼ 什么是并行计算?为什么要采用并行计 算? ◼ 并行计算功能一般是由OS提供的。 ◼ 在多CPU的计算机上,多线程 (multithreading)可以实现并行计算。 ◼ Java提供了内嵌多线程的功能

线程与进程 ■理解线程与进程的概念 21/2/24 北京理工大学计算机系(共28页)

2021/2/24 北京理工大学计算机系(共28页) 3 线程与进程 ◼ 理解线程与进程的概念

1线程对象 21/2/24 北京理工大学计算机系(共28页)

2021/2/24 北京理工大学计算机系(共28页) 4 1 线程对象

开发多线程程序最简单的方法 定义一个类,继承自 Thread类重载其 public void run(方法 实例: EraserThread java (1)先看一下无线程情况 (2)自定义一个 EraserThread类 (3)主程序中启动线程 21/2/24 北京理工大学计算机系(共28页)

2021/2/24 北京理工大学计算机系(共28页) 5 开发多线程程序最简单的方法 ◼ 定义一个类,继承自Thread类,重载其 public void run() 方法 ◼ 实例:EraserThread.java (1)先看一下无线程情况 (2)自定义一个EraserThread类 (3)主程序中启动线程

Thread类 提供了控制线程的几个方法 构造函数 public Thread( string threadName public Thread( 重载run方法,定义要以多线程方式完成的工作。 Sleep(): makes thread inactive Interrupt(): interrupts a running thread sAlive o: checks status of a thread setName(): sets a thread's name ■Join(): Waits for this thread to finish (等待本线程停止) 2021/224 北京理工大学计算机系(共28页)

2021/2/24 北京理工大学计算机系(共28页) 6 Thread类 ◼ 提供了控制线程的几个方法 ◼ 构造函数: public Thread( String threadName ) public Thread() ◼ 重载 run方法,定义要以多线程方式完成的工作。 ◼ Sleep(): makes thread inactive ◼ Interrupt(): interrupts a running thread ◼ isAlive ():checks status of a thread ◼ setName(): sets a thread’s name ◼ Join(): – Waits for this thread to finish – (等待本线程停止)

多线程第二种方法 一个类实现 java. lang Runable接口即 可,同样实现一个 public void run(方 法 实例: EraserDemo 更复杂的实例: ThreadTest 21/2/24 北京理工大学计算机系(共28页)

2021/2/24 北京理工大学计算机系(共28页) 7 多线程第二种方法 ◼ 一个类实现java.lang.Runable接口即 可,同样实现一个public void run()方 法. ◼ 实例:EraserDemo ◼ 更复杂的实例:ThreadTest

线程的生命周期 ■ Thread的状态 Born:(创建) Thread was just created Ready:(就绪) Thread's start method invoked Thread can now execute Running:(运行) Thread is assigned a processor and running Dead state:(死亡) a Thread has completed or exited Eventually disposed of by system 21/2/24 北京理工大学计算机系(共28页)

2021/2/24 北京理工大学计算机系(共28页) 8 线程的生命周期 ◼ Thread的状态 – Born:(创建) ◼ Thread was just created – Ready:(就绪) ◼ Thread’s start method invoked ◼ Thread can now execute – Running :(运行) ◼ Thread is assigned a processor and running – Dead state:(死亡) ◼ Thread has completed or exited ◼ Eventually disposed of by system

线程状态转换体现了一个线程的生命周期 hta q uantum exp rat i n d isp at ch yield (a ssign a inte rupt p proce sson 〈 running ra ting see ping de ad bloc ked 21/2/24

2021/2/24 北京理工大学计算机系(共28页) 9 线程状态转换体现了一个线程的生命周期

线程状态转换示例 中断一个线程: InterruptDemo java 线程调用Seep进入睡眠状态,用 Interrupt方法中断它 ■需要仔细分析程序流程 21/2/24 北京理工大学计算机系(共28页)

2021/2/24 北京理工大学计算机系(共28页) 10 线程状态转换示例 ◼ 中断一个线程: InterruptDemo.java ◼ 线程调用Sleep进入睡眠状态,用 Interrupt方法中断它 ◼ 需要仔细分析程序流程

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共28页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有