• / 47
  • 下载费用:10 金币  

第15讲 Java多线程.ppt

关 键 词:
第15讲 Java多线程.ppt
资源描述:
Java多线程,2019/9/30,Java多线程,2,Java多线程,进程与线程概念 创建和启动Java线程 多线程的互斥与同步 线程状态和线程控制 死锁的概念,2019/9/30,Java多线程,3,进程与线程,进程一般是对操作系统而言的。例如,你打开word编辑文档,同时打开outlook收取邮件。我们可以说这时系统内有两个进程在运行。即多个程序几乎在同一时间执行多个任务。 线程一般是对某一程序而言的。如上例,你打开outlook收新邮件的同时,还可以看已下载的邮件,这两件事没有相互干扰,那么我们说此时这一程序中至少有两个线程在运行。即每一个程序在同一时间内执行多个任务。,2019/9/30,Java多线程,4,进程与线程,从逻辑的观点来看,多线程意味着一个程序的多行语句同时执行,但是多线程并不等于多次启动一个程序,操作系统也不会把每个线程当作独立的进程来对待:,2019/9/30,Java多线程,5,进程与线程,两者的粒度不同,是两个不同层次上的概念。进程是由操作系统来管理的,而线程则是在一个程序(进程)内。 (可以看看win2000的任务管理器)不同进程的代码、内部数据和状态都是完全独立的,而一个程序内的多线程是共享同一块内存空间和同一组系统资源,有可能互相影响。线程本身的数据通常只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要小。,2019/9/30,6,多线程,,,2019/9/30,Java多线程,7,多线程的优势,减轻编写交互频繁、涉及面多的程序的困难(如监听网络端口)。程序的吞吐量会得到改善(同时监听多种设备,如网络端口、串口、并口以及其他外设)。有多个处理器的系统,可以并发运行不同的线程(否则,任何时刻只有一个线程在运行)。,2019/9/30,Java多线程,8,线程的调度,调度策略 时间片抢占式:高优先级的线程抢占CPU Java的调度方法 同优先级线程组成先进先出队列,使用时间片策略 对高优先级,使用优先调度的抢占式策略,,1,2,2019/9/30,Java多线程,9,线程,虚拟的CPU,由java.lang.Thread类封装和虚拟CPU来实现。 CPU所执行的代码,传递给Thread类对象。 CPU所处理的数据,传递给Thread类对象。,,,,代 码,数 据,虚拟CPU,,Java线程模型,2019/9/30,Java多线程,10,一个普通的程序,顺序执行,class CommonTest1 {public static void main(String args[]){A a1 = new A(“ a1 “,1000);A a2 = new A(“ a2 “,1000);a1.tt();a2.tt();a2.setCount(2000); }} class A {private int count ;private String sflag;public A(){ }public A(String sflag,int count){this.sflag = sflag;this.count = count; }protected int getCount() {return count; }protected void setCount(int count) {this.count = count; }protected String getSflag() {return sflag; }protected void setSflag(String sflag) {this.sflag = sflag; }public void tt(){for (int i = 0;i count;i++){System.out.println(“ A in :“ + sflag + “ now is :“ + i);}}},2019/9/30,Java多线程,11,采用extends Thread方法创建线程,class ThreadTest1 {public static void main(String args[]) {At at1 = new At(“ at1 “, 1000); // 3 创建该线程对象At at2 = new At(“ at2 “, 1000);at2.setT1(at1);at1.start(); // 4 用Thread类的start()方法启动,等待处理// at1.start(); //再次调用,错误at2.start();/** for(int i = 0 ;i 2000;i++){ System.out.println(“CCCC : “ + i); }* at2.setCount(2000);*//** try { at2.joi
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:第15讲 Java多线程.ppt
链接地址:https://www.weizhuannet.com/p-10035952.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

微传网博客

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开