欢迎来到天天文库
浏览记录
ID:34142299
大小:269.53 KB
页数:43页
时间:2019-03-03
《unit java 多线程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java多线程西安电子科技大学软件学院《Java程序设计》讲义刘惠内容¢线程概述¢Thread类¢线程定义¢线程状态¢线程优先级¢线程同步¢死锁¢线程中几个关键点西安电子科技大学软件学院《Java程序设计》讲义刘惠线程概述¢并发¢应用中需要并发¢并发的两种实现方式:进程、线程¢并发的宏观性、微观性¢并发中的同步、互斥西安电子科技大学软件学院《Java程序设计》讲义刘惠线程概述¢线程,进程的区别¢每个进程有自己独立的内存单元。而多个线程共享内存。¢创建,注销单个线程比进程所需开销少。¢线程间通信比进程间通信快很多。并且要求也简单。西安电子科技大学软件学院《Java程序设计》讲义刘惠
2、内容¢线程概述¢Thread类¢线程定义¢线程状态¢线程优先级¢线程同步¢死锁¢线程中几个关键点西安电子科技大学软件学院《Java程序设计》讲义刘惠Thread类¢Thread类简介¢Thread类包含在包java.lang中。¢Thread类有多种构造函数形式。¢Thread类有哪些成员变量。¢staticintMAX_PRIORITY¢staticintMIN_PRIORITY¢staticintNORM_PRIORITY西安电子科技大学软件学院《Java程序设计》讲义刘惠Thread类¢Thread类中几个重要方法的介绍¢voidstart()¢voidrun()¢void
3、stop()¢staticvoidsleep(longmillis)¢voiddestroy()¢voidsuspend()西安电子科技大学软件学院《Java程序设计》讲义刘惠内容¢线程概述¢Thread类¢线程定义¢线程状态¢线程优先级¢线程同步¢死锁¢线程中几个关键西安电子科技大学软件学院《Java程序设计》讲义刘惠线程定义classTestThreadimplementsRunnable{publicvoidrun(){…}}classTestThreadextendsThread{TestThread(Stringname){super(name);start();}pu
4、blicvoidrun(){…}}西安电子科技大学软件学院《Java程序设计》讲义刘惠线程举例¢一个不使用多线程的例子程序激活一个小球,并让小球不停的移动,如果想让小球在弹跳1000次之前终止它,用鼠标点close按钮会发现不起作用。为什么?西安电子科技大学软件学院《Java程序设计》讲义刘惠线程举例¢利用线程给其他任务一个机会我们可以随时点close按钮终止小球,或者点start按钮产生多个小球。西安电子科技大学软件学院《Java程序设计》讲义刘惠内容¢线程概述¢Thread类¢线程定义¢线程状态¢线程优先级¢线程同步¢死锁¢线程中几个关键点西安电子科技大学软件学院《Java程
5、序设计》讲义刘惠线程状态¢线程的五个状态1、初始状态ThreadaThread=newThread();2、就绪状态ThreadaThread=newThread();aThread.start();西安电子科技大学软件学院《Java程序设计》讲义刘惠线程状态3、阻塞状态suspend()sleep()wait()输入输出流发生阻塞线程同步时试图锁住另一个线程锁住的对象。西安电子科技大学软件学院《Java程序设计》讲义刘惠线程状态4、运行状态5、死亡状态stop(),或非预期的异常终止run()方法,线程突然死亡。run()正常退出,线程自然死亡。西安电子科技大学软件学院《Jav
6、a程序设计》讲义刘惠内容¢线程概述¢Thread类¢线程定义¢线程状态¢线程优先级¢线程同步¢死锁¢线程中几个关键点西安电子科技大学软件学院《Java程序设计》讲义刘惠线程优先级¢Java每个线程都有一个优先级。缺省时,一个线程继承父亲的优先级。¢可以通过setPriority()方法改变优先级。¢MAX_PRIORITY(10)MIN_PRIORITY(1)NORM_PRIORITY(5)¢一般的OS,优先级高的线程优先获得CPU。西安电子科技大学软件学院《Java程序设计》讲义刘惠线程优先级¢具有最高优先级并且处于运行状态的线程一直运行,直到:(1)它调用yield()方法放
7、弃执行权利。(2)它不在运行状态。(3)一个更高优先级得线程处于就绪状态。¢在多线程中,你不能依赖优先权级别。西安电子科技大学软件学院《Java程序设计》讲义刘惠线程优先级举例¢线程优先级举例点击start,启动5个MORM_PRIOROTY线程,出现5个黑色小球。点击express,启动5个高优先级线程,出现5个红色小球。我们发现,红色小球移动快些,为什么?西安电子科技大学软件学院《Java程序设计》讲义刘惠内容¢线程概述¢Thread类¢线程定义¢线程状态¢线程优先级¢线程同
此文档下载收益归作者所有