下载此文档

java第7章 ppt课件.ppt


文档分类:IT计算机 | 页数:约171页 举报非法文档有奖
1/171
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/171 下载此文档
文档列表 文档介绍
第七章 线程与对象群体的组织
JAVA语言程序设计
1
目录
多线程编程根底
线程的生命周期
线程的优先级
对象数组
集合〔Collection, Map〕
本章小结
2
多线程编程根底
本节内容
线程的概念
Thread类
Runnable接口
线程间的数据共享
多线程的同步控制
线程之间的通信
后台线程
3
线程的概念
进程和线程的区别
进程
一个独立程序的每一次运行称为一个进程,例如
用字处理软件编辑文稿时,同时翻开mp3播放程序听音乐,这两个独立的程序在同时运行,称为两个进程
设置一个进程要占用相当一局部处理器时间和内存资源
大多数操作系统不允许进程访问其他进程的内存空间,进程间的通信很不方便,编程模型比较复杂
多线程编程根底
4
线程
一个程序中多段代码同时并发执行,称为多线程
通过多线程,一个进程外表上看同时可以执行一个以上的任务——并发
创立线程比创立进程开销要小得多,线程之间的协作和数据交换也比较容易
Java是第一个支持内置线程操作的主流编程语言
多数程序设计语言支持多线程要借助于操作系统“原语(primitives)〞
线程的概念(续)
多线程编程根底
5
Thread类
Thread类
在Java程序中创立多线程的方法之一是继承Thread类
封装了Java程序中一个线程对象需要拥有的属性和方法
从Thread类派生一个子类,并创立这个子类的对象,就可以产生一个新的线程。这个子类应该重写Thread类的run方法,在run方法中写入需要在新线程中执行的语句段。这个子类的对象需要调用start方法来启动,新线程将自动进入run方法。原线程将同时继续往下执行
Thread类直接继承了Object类,并实现了Runnable接口。它位于包中,因而程序开头不用import任何包就可直接使用
多线程编程根底
6
Thread类(续) ——例7_1
在新线程中完成计算某个整数的阶乘
public class Ex7_1 {
public static void main( String [] args ) {
("main thread starts");
FactorialThread thread=new FactorialThread(10);
();
("main thread ends " );
}
}
class FactorialThread extends Thread {
private int num;
public FactorialThread( int num ) {
=num;
}
多线程编程根底
7
public void run() {
int i=num;
int result=1;
("new thread started" );
while(i>0) {
result=result*i;
i=i-1;
}
("The factorial of "+num+" is "+result);
("new thread ends");
}
}
运行结果
main thread starts
main thread ends
new thread started
The factorial of 10 is 3628800
new thread ends
Thread类(续) ——例7_1运行结果
多线程编程根底
8
结果说明
main线程已经执行完后,新线程才执行完
main函数调用()方法启动新线程后并不等待其run方法返回就继续运行,函数在一边单独运行,不影响原来的main函数的运行
源程序修改
如果启动新线程后希望主线程多持续一会再结束,可在start语句后加上让当前线程〔这里当然是main〕休息1毫秒的语句:
try { (1); } catch(Exception e){};
Thread类(续) ——例7_1修改
多线程编程根底
9
修改后运行结果
main

java第7章 ppt课件 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数171
  • 收藏数0 收藏
  • 顶次数0
  • 上传人lu2yuwb
  • 文件大小417 KB
  • 时间2021-11-04