java课程24_多线程new

java课程24_多线程new

ID:34663002

大小:1.13 MB

页数:64页

时间:2019-03-08

java课程24_多线程new_第1页
java课程24_多线程new_第2页
java课程24_多线程new_第3页
java课程24_多线程new_第4页
java课程24_多线程new_第5页
资源描述:

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

1、IT教育系列JAVA多线程版权声明•本课件由浙江浙大网新集团有限公司(以下简称:网新集团)编制,仅供网新集团培训机构的学员学习使用;•网新集团享有本课件中的文字叙述、文档格式、插图、照片等所有信息资料的版权,受知识产权法及版权法等法律、法规的保护。任何个人或组织未经网新集团的书面授权许可,均不得以任何形式使用本课件的任何内容,否则将视为不法侵害,网新集团保留追究侵权人相关法律责任的权利•如您不接受上述声明,请勿使用本课件,并尽快销毁或删除本课件任何形式的备份;如您使用本课件,将被视为您接受并同意遵守上述声明。第2页内容提要1线程基本概念Jav

2、a如何创建和使用线程2线程的调度34线程的同步线程间的通信55第3页1.1基本概念—什么是线程一个程序由一个或多个进程组成的,一个进程包含一个或多个线程。进程(process)本质上是一个可执行的程序。操作系统引入进程概念后表示计算机可以同时运行两个或以上的程序,这就是多任务的处理模式。每一个进程都有自己独立的内存空间、一组系统资源。而一个进程下的多个线程是共享同一块内存空间和一组系统资源的。可以简单理解为线程是执行任务的最终实体,在java中一个Thead对象实例对应一个线程。多线程则指的是在单个程序中可以同时运行多个不同的线程第4页1.1

3、基本概念—什么是线程•多任务处理–现在几乎所有的操作系统都是基于多任务处理。有2种类型:基于进程和基于线程的。–进程是指一种“自包容”的运行程序,有自己的地址空间;线程是进程内部单一的一个顺序控制流–基于进程的特点是允许计算机同时运行两个或更多的程序。–基于线程的多任务处理环境中,线程是最小的处理单位。第5页1.1基本概念—什么是线程•基于线程的多任务处理的优点–基于线程所需的开销更少•在多任务中,各个进程需要分配它们自己独立的地址空间•多个线程可共享相同的地址空间并且共同分享同一个进程–进程间调用涉及的开销比线程间通信多–线程间的切换成本比

4、进程间切换成本低1.1基本概念—什么是线程•在Java中,一个应用程序可以包含多个线程。每个线程执行特定的任务,并可与其他线程并发执行•多线程使系统的空转时间最少,提高CPU利用率•多线程编程环境用方便的模型隐藏CPU在任务间切换的事实1.1基本概念—什么是线程•Java在类和接口方面为多线程提供内置支持。在Java程序启动时,一个线程立刻运行,该线程通常称为主线程。•主线程的重要性体现在两个方面:–它是产生其他子线程的线程。–通常它必须最后完成执行,因为它执行各种关闭动作。–演示一个单线程的示例1.2线程简单示例•classMythread

5、extendsThread{•publicstaticvoidmain(Stringargs[]){获得当前线程,即主线程•Threadt=Thread.currentThread();•System.out.println("当前线程是:"+t);改变线程的•t.setName("MyJavaThread");内部名称•System.out.println("当前线程名是:"+t);•try{•for(inti=0;i<3;i++){•System.out.println(i);Thread.sleep(1500);•}输出每个数后暂停15

6、00毫秒•}•catch(InterruptedExceptione){•System.out.println("主线程被中断");}•}}1.3创建线程的方式•通过以下两种方法创建Thread对象:–声明一个Thread类的子类,并覆盖run()方法。classmythreadextendsThread{publicvoidrun(){/*覆盖该方法*/}}–声明一个实现Runnable接口的类,并实现run()方法。classmythreadimplementsRunnable{publicvoidrun(){/*实现该方法*/}}1.3

7、创建线程的方式•要触发一个新线程,使用start()方法,如:•Mythreadt=newMythread();•t.start();•在调用start()方法时,将创建一个新的控制线程,接着它将调用run()方法。•run()方法中的代码定义执行线程所需的功能。1.3创建线程的方式•Thread类的构造函数–Thread(Stringname)构造名称为name的线程–Thread()构造一个线程,线程名称由Thread和后接的一个数字组成,如Thread-1、Thread-2等。1.3创建线程的方式•classMyThread1exten

8、dsThread{或者使用•implementsRunnable•publicstaticvoidmain(Stringargs[]){•Threadt=Threa

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

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

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