常用系统类的使用,Java多线程编程

常用系统类的使用,Java多线程编程

ID:41037503

大小:52.00 KB

页数:5页

时间:2019-08-14

上传者:qwe189537
常用系统类的使用,Java多线程编程_第1页
常用系统类的使用,Java多线程编程_第2页
常用系统类的使用,Java多线程编程_第3页
常用系统类的使用,Java多线程编程_第4页
常用系统类的使用,Java多线程编程_第5页
资源描述:

《常用系统类的使用,Java多线程编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

实验三常用系统类的使用,Java多线程编程一.实验目的及要求1.掌握字符串类的使用方法2.掌握不同类型的输入输出流类,标准数据流、文件流、数据输入输出流、对象流等3.理解多线程机制,掌握线程对象的创建方法4.掌握线程调度方法,包括线程优先级,线程等待、睡眠、唤醒、中断、终止方法5.理解多线程之间的互斥和同步二.实验内容及步骤1.创建一个基本类型以及对象类型应用的源程序basicType.java,要求使用String类的变量先后指向两个相同的字符串常量,观察这个变量的值和所指向串的值,使用equals方法判定两个串的内容是否相等。使用Scanner类的变量从键盘上接收若干个整型数据,计算其总和并输出,能够处理非数值的情形并允许再次输入下一个数值。使用FileReader类/FileWriter类结合File类的变量执行先将整型、长整型、char和String类型变量值保存到文件test.txt,再输出该文件中的内容,观察此时程序的输入输出。使用FileWriter类/BufferedWriter类向文件test2.txt中写入dobule类型,char类型,以及String类型的变量值,再使用FileReader类/BufferedReader类读出这些变量的值,观察此时程序的输入输出情况。importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.util.Scanner;publicclassBasicType{publicstaticfinalStringCONSTANT_STRING="JavaString";publicstaticvoidmain(String[]args){//testEqualsString();//testScanner();//testfile();test2Buffered();}publicstaticvoidtestEqualsString(){StringstringA=CONSTANT_STRING;StringstringB=CONSTANT_STRING;System.out.println("stringA==stringB:"+(stringA==stringB));System.out.println("stringA.equals(stringB):"+(stringA.equals(stringB)));}publicstaticvoidtestScanner(){Scanners=newScanner(System.in);intcount=0;intsum=0; intnum=0;System.out.print("InputIntegersnum:");num=s.nextInt();System.out.print("Input"+num+"Integers;");for(count=0;counti){System.out.println();continueouter;}System.out.print(""+(i*j));}System.out.println();}}}2.创建一个有关线程应用的源程序threadDemo.java,其中两个具有包访问权限的类thread1,thread2分别以两种不同的方式定义,且都重写线程的run方法,每个线程类的run方法中重复10次输出本线程对象的名称,并执行Thread.sleep方法。每个线程类的构造方法均要求带一个String类型的参数,用来指出当前线程对象的名称,然后在主类threadDemo的main方法中分别创建上述两种方式下的线程对象,对于同一种类型的线程类也创建两个不同名称的对象,将这些线程对象都启动,运行程序,观察程序的运行情况。讨论在什么情况下可以使用线程的stop方法,wait方法,yield方法,join方法,notify方法。3.有关临界资源的互斥访问问题。分析如下程序段,当两个线程对象在同时使用同一个stack上的对象时,能不能保证数据的有序入栈出栈?如果不行,应该如何修改?并写出修改的理由。 classstack{intidx=0;char[]data=newchar[6];publicvoidpush(charc){data[idx]=c;idx++;}publiccharpop(){idx--;returndata[idx];}}三.实验小结

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

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

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