山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)09(第九章 多线程编程)

Java语言程序设计第九章多线程编程Java
Java语言程序设计 第九章 多线程编程

9-1多线程编程概述1、线程和进程2、为什么需要多线程3、我们将学习多线程的哪些方面内容
9-1 多线程编程概述 1、线程和进程 2、为什么需要多线程 3、我们将学习多线程的哪些方面内容

1.进程和线程>进程是指运行中的应用程序,每一个进程都有自已独立的内存空间。一个应用程序可以同时启动多个进程。>线程是指进程中的一个执行流程,有时也称为执行情景。>线程和进程的主要区别在于:每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地址空间中工作,这些线程可以共享同一块内存和系统资源
➢ 进程是指运行中的应用程序,每一个进程都有自己独立的内存空间。一个应 用程序可以同时启动多个进程。 ➢ 线程是指进程中的一个执行流程,有时也称为执行情景。 ➢ 线程和进程的主要区别在于:每个进程都需要操作系统为其分配独立的内存 地址空间,而同一进程中的所有线程在同一块地址空间中工作,这些线程可 以共享同一块内存和系统资源。 1. 进程和线程

2.为什么需要多线程QIYI爱奇艺悦享品质
2. 为什么需要多线程

3.我们将学习多线程的哪些方面内容>Thread和Runnable>线程的生命周期>多线程常用API>生产者消费者实例及应用
3. 我们将学习多线程的哪些方面内容 ➢ Thread和Runnable ➢ 线程的生命周期 ➢ 多线程常用API ➢ 生产者消费者实例及应用

9-2 Thread和Runnable (9-3)1.Thread2.Runnable
9-2 Thread和Runnable(9-3) 1.Thread 2.Runnable

1. Threadpublic class MyThread extendsThread(public void run())1public class MyThread extends Thread(public void runOfor(int i = 1 ; i<=10 ; i++)System.out.println(Thread.currentThread().getName() +"--"+i)11人
public class MyThread extends Thread{ public void run(){} } 1. Thread public class MyThread extends Thread{ public void run(){ for(int i = 1 ; i<=10 ; i++){ System.out.println(Thread.currentThread().getName() + "-"+i); } } }

2. Runnablepublicclass MyThread implementsRunnable[public void run()1publicclassMyRunnableimplementsRunnable@Overridepublic void run() (for (int i = 1; i <= 10; i++) {System.out.println(Thread.currentThread().getName() +"--" + i);1人
public class MyThread implements Runnable{ public void run(){} } 2. Runnable public class MyRunnable implements Runnable { @Override public void run() { for (int i = 1; i <= 10; i++) { System.out.println(Thread.currentThread().getName() + "-" + i); } } }

3. Thread vS Runnable>资源共享>Java语言中只能继承一个类,但可以实现多个接口一般场景下,我们应尽量实现Runnable接口
3. Thread VS Runnable ➢ 资源共享 ➢ Java语言中只能继承一个类,但可以实现多个接口 一般场景下,我们应尽量实现Runnable接口

后台线程前台线程执行,后台线程执行:前台线程不执行,后台线程立即停止在start)之前用setDaemon(true);进行设置
后台线程 前台线程执行,后台线程执行; 前台线程不执行,后台线程立即停止 在start()之前用setDaemon(true); 进行设置
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)08(第八章 JDBC编程).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)07(第七章 输入输出).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)06(第六章 常用类和集合框架).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)05(第五章 异常).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)03(第三章 类和对象).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)02(第二章 JAVA语法基础).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)01(第一章 JAVA语言入门).ppt
- 《C语言》课程资源_C语言_教学课件_15——程序设计基础1——第6章——break——continue.ppt
- 《C语言》课程资源_C语言_教学课件_14——程序设计基础1——-循环嵌套.ppt
- 《C语言》课程资源_C语言_教学课件_13——for——循环语句的使用.ppt
- 《C语言》课程资源_C语言_教学课件_12——逗号表达式的运用.ppt
- 《C语言》课程资源_C语言_教学课件_11-do——while循环.ppt
- 《C语言》课程资源_C语言_教学课件_10——循环结构——-while循环.ppt
- 《C语言》课程资源_C语言_教学课件_09——C语言——switch开关语句的应用.ppt
- 《C语言》课程资源_C语言_教学课件_08——C语言——关系运算、逻辑运算、if-分支结构.ppt
- 《C语言》课程资源_C语言_教学课件_07——C语言——输入输出格式控制.ppt
- 《C语言》课程资源_C语言_教学课件_06——顺序结构程序设计.ppt
- 《C语言》课程资源_C语言_教学课件_05——C语言的基本数据运算.ppt
- 《C语言》课程资源_C语言_教学课件_04——C语言——数据类型.ppt
- 《C语言》课程资源_C语言_教学课件_03——数据在计算机中的表示.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)10(第十章 网络编程).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)10-1 多线程.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)11-1 网络程序设计.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)2-2 JAVA语言语法基础(数据类型及其转换+运算符、表达式).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)2-3 JAVA语言语法基础(数组、语句).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)3-1 类与对象(一).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)3-2 类和对象(二)_访问修饰符-abstract-final-static.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)4-1 类的继承和多态.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)4-2 接口及其使用.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)5-1 内部类.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)5-2 异常及其处理.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)6-1 常用类(字符串、日期类).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)6-2 常用类(Java集合框架).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)7-1 文件及IO操作.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)8-1 数据库程序设计.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)9-1 图形用户界面.ppt
- 《计算机应用基础》课程教学资源(讲稿)第1章计算机与计算.pdf
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第3章_第3章计算机系统概述.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第4章_第4章数制与信息编码.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第8章_jl版网页设计.ppt
