欢迎来到天天文库
浏览记录
ID:51990150
大小:122.00 KB
页数:56页
时间:2020-03-27
《JAVA程序设计内容_3.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十四章线程一.概述1.概念:进程:程序的一次执行过程。资源占用大,通信困难。线程:一个进程里能够并发的过程。资源占用小,通信容易。进程1进程2数据块程序段数据块程序段。。。。。。数据块程序段线程1线程2。。。2.java.lang.Thread;.3.线程的构成cpu(虚拟)代码(类共享)数据(对象拥有)二.编程start()启动线程run()线程体,线程的实现stop()停止线程1.继承ThreadclassMyThreadextendsThread{publicvoidrun(){线程体;}publicstaticvoidmain(Strings[]
2、){MyThreadmt1=newMyThread();MyThreadmt2=newMyThread();mt1.start();mt2.start();}}2.实现Runnable接口classMyThreadimplementsRunnable{publicvoidrun(){线程体;}publicstaticvoidmain(Strings[]){MyThreadmt1=newMyThread();MyThreadmt2=newMyThread();Threadt1=newThread(mt1);Threadt2=newThread(mt2);t1
3、.start();t2.start();}}三.线程的调度可运行态不可运行态新线程死亡态run()结束stop()结束自调yield()start()1.不可运行/可运行wait()/notify(),notifyAll()suspend()/resume()sleep()/sleep时间到高优先级线程到/高优先级线程结束I/O阻塞/I/O完成join()当前线程停下来等待,至调用join()的线程中止2.死亡状态run()正常结束stop()3.isAlive()方法4.非法状态处理四.线程的方法Thread.currentThread()setName
4、()getName()setPriority()getPriority()Daemon:setDaemon(true)设置为后台线程setDaemon(false)设置为应用线程五.例子publicclassMyThreadextendsThread{privateintcount=0;publicvoidsetCount(){count++;}publicvoidrun(){for(inti=0;i<10;i++){setCount();System.out.println(Thread.currentThread().getName()+":"+cou
5、nt);}}publicstaticvoidmain(String[]args){MyThreadmt1=newMyThread();MyThreadmt2=newMyThread();mt1.setName("MT1");mt2.setName("MT2");mt1.start();mt2.start();}}五.例子publicclassMyThreadextendsThread{privatestaticintcount=0;publicvoidsetCount(){count++;}publicvoidrun(){for(inti=0;i<10;i
6、++){setCount();System.out.println(Thread.currentThread().getName()+":"+count);}}publicstaticvoidmain(String[]args){MyThreadmt1=newMyThread();MyThreadmt2=newMyThread();mt1.setName("MT1");mt2.setName("MT2");mt1.start();mt2.start();}}六.线程同步publicvoidpush(charc){data[idx]=c;idx++;}pub
7、liccharpop(){idx--;returndata[idx];}pcp1c1共享数据p2c2s.wait();s.notify();仓库仓库第十五章I/O流一.概述1.概念:数据流机制。输入流读输出流写节点流直接获取数据过滤流对I/O流做转换处理的2.java.io包定义字节流1字节InputStream、OutputStream字符流2字节Reader、Writer3.常用方法15-5,6,7,8,10二.常用流类1.字节流FileInputStream/FileOutputStreamBufferedInputStream/BufferedOu
8、tputStreamDataInputStream/DataOut
此文档下载收益归作者所有