第九章 多线程new

第九章 多线程new

ID:34524072

大小:471.46 KB

页数:36页

时间:2019-03-07

第九章 多线程new_第1页
第九章 多线程new_第2页
第九章 多线程new_第3页
第九章 多线程new_第4页
第九章 多线程new_第5页
资源描述:

《第九章 多线程new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章多线程1目录9.1多线程的基本概念9.2线程的使用9.3线程的优先级9.4线程的数据共享9.5线程的同步9.6线程间通信2课前思考什么是进程?如何让程序同时执行多个任务?39.1多线程的基本概念9.1.1程序、进程和多任务程序:是数据描述与操作代码的集合静态的进程:程序的一次执行过程,是操作系统运行程序的基本单位。动态的多任务:指在一个系统中可以同时运行多个程序,即有多个独立运行的任务通常,每一个任务对应一个进程49.1多线程的基本概念9.1.2线程进程中的实体程序中单个顺序的控制流一个进程可以拥有多个线程一个线程必须有一

2、个父进程与父进程的其它线程共享该进程所拥有的全部资源进程可以创建和撤消线程实现程序的并发执行59.1多线程的基本概念9.1.2线程虚拟CPU(java.lang.Thread)执行的代码操作的数据69.1多线程的基本概念9.1.3线程的生命周期与状态1.生命周期–线程从创建、运行到消亡的过程2.线程的状态①创建(New)②可运行(Runnable)③运行中(Running)④挂起(NotRunnable)⑤死亡(Dead)79.1多线程的基本概念9.1.3线程的生命周期与状态89.2线程的使用创建线程的两种方法1.通过继承Thread类来创建线程

3、2.建立实现Runnable接口的类来创建线程99.2线程的使用9.2.1通过继承Thread类创建线程例:计算某个整数的阶乘1.classFactorialThreadextendsThread{2.privateintnum;3.publicFactorialThread(intnum){4.this.num=num;5.}6.publicvoidrun(){//线程体7.inti=num;8.intresult=1;9.while(i>0){10.result=result*i;11.i=i-1;12.}13.System.out.println("T

4、hefactorialof"+num+"is"+result);14.}15.}109.2线程的使用测试程序1.publicclassTestFactorialThread{2.publicstaticvoidmain(String[]args){3.System.out.println("mainthreadstarts");4.FactorialThreadthread=newFactorialThread(10);5.thread.start();6.}7.}119.2线程的使用9.2.1通过继承Thread类创建线程构造方法:publicThr

5、ead()分配新的Thread对象。自动生成一个名称为"Thread-"+n,其中的n为整数的线程对象。publicThread(Runnabletarget)分配新的Thread对象。自动生成一个名称为"Thread-"+n,其中的n为整数的线程对象,并使用target作为运行对象,也就是执行target中的run方法。publicThread(Stringname)分配一个线程名为name的Thread对象129.2线程的使用9.2.1通过继承Thread类创建线程常用方法:publicvoidstart()使该线程开始执行;Java虚拟

6、机调用该线程的run方法。publicstaticvoidsleep(longmillis)在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)。publicfinalvoidsetPriority(intnewPriority)更改线程的优先级。publicfinalvoidsetName(Stringname)改变线程名称publicfinalintgetPriority()返回线程的优先级publicfinalStringgetName()返回该线程的名称publicvoidrun()该方法不执行任何操作,Thread的子类应该

7、重写该方法publicstaticThreadcurrentThread()返回对当前正在执行的线程对象的引用139.2线程的使用9.2.2通过Runnable接口创建线程多线程机制的一个重要部分,只有一个run()方法可以用实现Runnable接口的类来创建线程在编写复杂程序时相关的类可能已经继承了某个基类,而Java不支持多继承,在这种情况下,便需要通过实现Runnable接口来生成多线程149.2线程的使用9.2.2通过Runnable接口创建线程例:使用Runnable接口实现阶乘1.classFactorialRunnableimplem

8、entsRunnable{2.privateintn

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。