第22讲 Java高级编程(一).ppt

第22讲 Java高级编程(一).ppt

ID:61906631

大小:208.50 KB

页数:23页

时间:2020-02-07

第22讲 Java高级编程(一).ppt_第1页
第22讲 Java高级编程(一).ppt_第2页
第22讲 Java高级编程(一).ppt_第3页
第22讲 Java高级编程(一).ppt_第4页
第22讲 Java高级编程(一).ppt_第5页
资源描述:

《第22讲 Java高级编程(一).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第22讲Java高级编程(一)教学目标理解多线程程序设计的基本思想掌握多线程的实现和线程的同步与控制理解Java网络编程的基本思想掌握基于Socket的低层Java网络编程与基于UDP的Java网络编程,以及基于无连接的数据报通信编程理解JDBC的基本思想掌握数据源的建立和数据库的访问多线程程序设计支持多线程——Java可以让不同的程序块同时运行,可以达到处理多任务的目的。所谓的线程(thread)是指程序的运行流程,多线程的技术使单个程序内部也可以在同一时刻执行多个代码段,完成不同的任务,这种机制称为多线程。Java语言

2、利用多线程实现了一个异步的执行环境。例如,在一个网络应用程序里,可以在后台运行一个下载网络数据的线程,在前台则运行一个线程来显示当前下载的进度,以及一个用于处理用户输入数据的线程。Java多线程机制是通过Java类包java.lang中的类Thread实现的,Thread类封装了对线程控制所必需的方法。classSTextendsThread{publicST(Stringstr){super(str);}publicvoidrun(){StringB[]={"起床","早饭","上班","下班"};StringS[]={

3、"备课","上课","布置作业","下课"};StringName=null;Name=getName();for(inti=0;i<4;i++){if(Name.equals("B")){System.out.println(Name+":"+B[i]);try{sleep((long)(Math.random()*1000));}catch(InterruptedExceptione){}}if(Name.equals("S")){System.out.println(Name+":"+S[i]);try{sleep(

4、(long)(Math.random()*1000));}catch(InterruptedExceptione){}}}}}单线程实现示例单线程实现示例(续)publicclassEx12_1{publicstaticvoidmain(Stringargs[]){STs1=newST("B");STs2=newST("S");s1.run();s2.run();}}运行结果:B:早饭B:上班B:下班S:备课S:上课S:布置作业S:下课程序分析:try块中sleep()方法只是简单地告诉线程休息多少毫秒,其参数为休息时间。

5、当这个时间过去后,线程即可继续执行。当某个线程睡眠时,sleep()并不占用系统资源,其他某一线程可继续工作。多线程的实现单线程的限制——要运行s2.run()方法,一定要等到s1.run()运行完毕才行。激活多个线程——同时运行s1.run()、s2.run()方法使得上述结果交叉输出。实现多线程的方法:在类里激活线程此类必须是扩展自Thread类,extendsThread线程的处理必须编写在run()方法内。run()方法是定义在Thread类中的一个方法。使用接口实现多线程多线程实现示例classSTextends

6、Thread{publicST(Stringstr){super(str);}publicvoidrun(){StringB[]={"起床","早饭","上班","下班"};StringS[]={"备课","上课","布置作业","下课"};StringName=null;Name=getName();for(inti=0;i<4;i++){if(Name.equals("B")){System.out.println(Name+":"+B[i]);try{sleep((long)(Math.random()*1000))

7、;}catch(InterruptedExceptione){}}if(Name.equals("S")){System.out.println(Name+":"+S[i]);try{sleep((long)(Math.random()*1000));}catch(InterruptedExceptione){}}}}}多线程实现示例(续)publicclassEx12_2{publicstaticvoidmain(Stringargs[]){newST("B").start();newST("S").start();}}

8、运行结果:第一次运行第二次运行第三次运行B:起床B:起床B:起床S:备课S:备课S:备课S:上课B:早饭S:上课S:布置作业S:上课B:早饭B:早饭B:上班B:上班S:下课S:布置作业B:下班B:上班B:下班S:布置作业S:下班S:下课S:下课程序分析:程序中的main()方法中构造了两个ST类的线程,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。