java第10章改.ppt
上传人:sy****28 上传时间:2024-09-14 格式:PPT 页数:56 大小:176KB 金币:18 举报 版权申诉
预览加载中,请您耐心等待几秒...

java第10章改.ppt

java第10章改.ppt

预览

免费试读已结束,剩余 46 页请下载文档后查看

18 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第10章多线程学习目标本章要点多线程技术的基本概念多线程技术的基本概念什么是线程什么是线程什么是线程什么是线程线程执行的主要组成部分什么是线程什么是线程线程的生命周期线程的生命周期线程的生命周期线程的生命周期多线程技术多线程技术多线程技术多线程技术多线程技术的实现多线程技术的实现线程的创建线程的创建继承Thread类,覆盖方法run()继承Thread类,覆盖方法run()类“DrawLine”运行结果publicclassMyThread{publicstaticvoidmain(Stringargs[]){newTestThread().start();while(true){System.out.println("mainthreadisrunning");}}}classTestThreadextendsThread{publicvoidrun(){while(true){System.out.println(Thread.currentThread().getName()+"isrunning");}}}继承Thread类,覆盖方法run()实现Runnable接口实现Runnable接口publicclassThreadDemo{publicstaticvoidmain(Stringargs[]){Targetfirst,second;first=newTarget("第一个线程");second=newTarget("第二个线程");Threadone,two;one=newThread(first);two=newThread(second);one.start();two.start();}}classTargetimplementsRunnable{Strings;publicTarget(Strings){this.s=s;System.out.println(s+"已经建立");}publicvoidrun(){System.out.println(s+"已经运行");try{Thread.sleep(1000);}catch(InterruptedExceptione){}System.out.println(s+"已经结束");}}线程同步线程同步线程同步线程同步线程同步线程同步线程同步线程同步线程同步publicclassThreadSyncDemo{publicstaticvoidmain(Stringargs[]){ThreadTestt=newThreadTest();newThread(t).start();//本线程调用同步代码块newThread(t).start();//本线程调用同步函数}}classThreadTestimplementsRunnable{privateinttickets=100;publicvoidrun(){while(true){synchronized(this){if(tickets>0){try{Thread.sleep(10);}catch(Exceptione){System.out.println(e.getMessage());}System.out.println(Thread.currentThread().getName()+"正在卖第"+tickets--+"号票");}}}}}类“ThreadSyncDemo”运行结果线程同步线程死锁死锁的根源死锁的根源隐性死锁隐性死锁隐性死锁隐性死锁隐性死锁线程调度线程调度线程调度线程调度