第十一章 java多线程编程

第十一章 java多线程编程

ID:33590344

大小:686.69 KB

页数:39页

时间:2019-02-27

第十一章 java多线程编程_第1页
第十一章 java多线程编程_第2页
第十一章 java多线程编程_第3页
第十一章 java多线程编程_第4页
第十一章 java多线程编程_第5页
资源描述:

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

1、面向对象程序设计Java版安庆师范学院张步忠zhbzhong@aqtc.edu.cn安庆师范学院计算机与信息学院·Java程序设计·www.aqtc.edu.cn第11章Java多线程编程安庆师范学院计算机与信息学院·Java程序设计·www.aqtc.edu.cn安庆师范学院111.1线程与线程类11.2线程的创建11.3线程的状态与调度11.4线程状态的改变11.5资源共享与对象锁11.6线程组安庆师范学院计算机与信息学院·Java程序设计·www.aqtc.edu.cn11.1线程与线程类11.1.1线程的概念11.1.2Runnable接口和Threa

2、d类安庆师范学院计算机与信息学院·Java程序设计·www.aqtc.edu.cn安庆师范学院211.1.1线程的概念进程是一个程序关于某个数据集的一次运行。即进程是运行中的程序,是程序的一次运行活动。线程则是进程中的一个单个的顺序控制流。单线程的概念很简单,整个程序中只有一个执行线索多线程是指在单个的程序内可以同时运行多个不同的线程完成不同的任务安庆师范学院计算机与信息学院·Java程序设计·www.aqtc.edu.cn11.1.1线程的概念很多应用程序是用多线程实现的,如浏览器。在浏览器中,可以边滚动屏幕,边下载Applet或图像,还可以同时播放动画和声音等。

3、多线程与多任务不同。多任务是在操作系统下可同时运行多个程序多线程是在一个程序中的多个同时运行的控制流。安庆师范学院计算机与信息学院·Java程序设计·www.aqtc.edu.cn安庆师范学院311.1.2Runnable接口和Thread类Java语言实现多线程编程的接口和类在java.lang包中定义了Runnable接口和Thread类。Runnable接口中只定义了一个方法,它的格式为:publicabstractvoidrun()这个方法要由实现了Runnable接口的类实现。Runnable对象称为可运行对象,一个线程的运行就是执行可运行对象的run

4、()方法。run()方法也称为线程体。安庆师范学院计算机与信息学院·Java程序设计·www.aqtc.edu.cnThread类是线程类,该类的常用构造方法如下:publicThread(Runnabletarget,Stringname)publicThread(Stringname)publicThread(Runnabletarget)target为线程运行的目标对象,类型为Runnable,当一个线程对象调用start()方法启动后即运行该目标对象的run()方法,name为线程名。Thread类实现了Runnable接口,因此Thread对象也是可运

5、行对象,若没有指定目标对象,则以当前类对象为目标对象。若没有指定线程名,则由系统指定。安庆师范学院计算机与信息学院·Java程序设计·www.aqtc.edu.cn安庆师范学院4Thread类的常用方法publicvoidrun()线程的线程体,通常Thread类的子类覆盖该方法。publicvoidstart()由JVM调用线程的run()方法,启动线程开始执行。publicstaticThreadcurrentThread()返回当前正在执行的线程对象的引用。publicvoidsetName(Stringname)设置线程名。publicStringgetNa

6、me()返回线程名。publicstaticvoidsleep(longmillis)throwsInterruptedExceptionpublicstaticvoidsleep(longmillis,intnanos)throwsInterruptedException使当前正在执行的线程暂时停止执行指定的毫秒时间。指定时间过后,线程继续执行。该方法抛出InterruptedException异常,必须捕获或声明抛出。安庆师范学院计算机与信息学院·Java程序设计·www.aqtc.edu.cnThread类的常用方法publicvoidsetDaemon(bool

7、eanon)设置线程为Daemon(后台)线程。publicbooleanisDaemon()返回线程是否为Daemon(后台)线程。publicstaticvoidyield()使当前执行的线程暂停执行,允许其他线程执行。publicThreadGroupgetThreadGroup()返回该线程所属的线程组对象。publicvoidinterrupt()中断当前线程。publicbooleanisAlive()返回指定线程是否处于活动状态。安庆师范学院计算机与信息学院·Java程序设计·w

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

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

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