欢迎来到天天文库
浏览记录
ID:26953726
大小:368.82 KB
页数:46页
时间:2018-11-30
《《的多线程机制》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章Java的多线程机制本章主要讲述了线程的概念,线程的创建,线程的管理。例9.1用类Thread的子类创建线程classCalculateThreadextendsThread{privateStringname;publicCalculateThread(Stringname){super(name);this.name=name;}publicvoidrun(){System.out.println(name+"线程说:先睡1s(秒),再计算圆周率的平方根");try{Thread.sleep(1000);}catch(InterruptedExceptionie){}S
2、ystem.out.println("圆周率的平方根为:"+Math.sqrt(Math.PI));System.out.println(name+"线程说:再见!");}}classPrintThreadextendsThread{privateStringname;publicPrintThread(Stringname){super(name);this.name=name;}publicvoidrun(){System.out.println(name+"线程说:我马上打印10颗星!");for(inti=1;i<=10;i++)System.out.print('*')
3、;System.out.println();System.out.println(name+"线程说:再见!");}}classThreadTest{publicstaticvoidmain(String[]args){CalculateThreadt1=newCalculateThread("计算");PrintThreadt2=newPrintThread("打印");System.out.println("启动计算线程t1");t1.start();System.out.println("启动打印线程t2");t2.start();System.out.println("m
4、ain方法说:再见!");}}该程序产生的输出是:启动计算线程t1启动打印线程t2main方法说:再见!计算线程说:先睡1s(秒),再计算圆周率的平方根打印线程说:我马上打印10颗星!**********打印线程说:再见!圆周率的平方根为:1.7724538509055159计算线程说:再见!⑴Java语言支持多线程,在一个java程序中可以同时执行多个线程,使得使用java程序的用户可以减少等待时间提高工作效率。⑵线程是一个执行体,该执行体的指令流只有一个起点、一个终点,执行中的某时刻只有一个执行点。⑶线程不能单独存在,只能是程序中的一个部分。⑷在一个程序中可以使用多个线程,这
5、些线程可以同时运行,每个线程完成不同的任务。⑸线程之间可以共享计算机系统分配给这个程序的资源(为程序分配的内存和外部设备的使用权等)。⑹线程之间可利用共享的内存空间进行信息交换(线程间通信)。⑺在Java中线程是主动对象。主动对象不但能接收消息也能向其他对象发送消息。⑻声明一个Thread的子类。在子类中重构方法run,再声明子类的构造方法。然后,创建该子类的对象。⑼publicviodstart()throwsIllegalThreadStateException启动当前线程,方法立即返回。若该线程启动过了,再次调用方法start则抛出IllegalThreadStateExc
6、eption异常。线程启动后若获得CPU使用权则调用本线程的run方法。例9.2通过实现接口Runnable创建线程classCalculateClassimplementsRunnable{privateStringname;publicCalculateClass(Stringname){this.name=name;}publicvoidrun(){System.out.println(name+"线程说:先睡1s(秒),再计算圆周率的平方根");try{Thread.sleep(1000);}catch(InterruptedExceptionie){}System.ou
7、t.println("圆周率的平方根为:"+Math.sqrt(Math.PI));System.out.println(name+"线程说:再见!");}}classPrintClassimplementsRunnable{privateStringname;publicPrintClass(Stringname){this.name=name;}publicvoidrun(){System.out.println(name+"线程说:我马上打印10颗星!");for(inti
此文档下载收益归作者所有