如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实验一基于线程的编程技术实验内容:熟悉基于多线程的编程技术,编程实现简单的多线程编程实例。题目可以选取教材或习题中的多线程编程实例。实验目的和要求掌握使用一门语言进行多线程编程编写程序将多线程的执行过程动态的演示出来。实验方法和步骤线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。多个线程的执行是并发的,多线程和传统的单线程在程序设计上最大的区别在于,由于各个线程的控制流彼此独立,使得各个线程之间的代码是乱序执行的,由此带来的线程调度,同步等问题。实验方法1)使用流程图描述演示程序的设计思想;2)选取C++、JAVA等计算机语言,编程调试,最终给出运行正确的程序。程序设计方法一:继承Thread实现线程publicclassMyThreadextendsThread{intcount=1,number;publicMyThread(intnum){number=num;System.out.println("创建线程"+number);}publicvoidrun(){while(true){System.out.println("线程"+number+":计数"+count);if(++count==6)return;}}publicstaticvoidmain(Stringargs[]){for(inti=0;i〈5;i++)newMyThread(i+1).start();}}方法二:实现Runnable接口publicclassMyThreadimplementsRunnable{intcount=1,number;publicMyThread(intnum){number=num;System.out.println("创建线程"+number);}publicvoidrun(){while(true){System.out.println("线程"+number+":计数"+count);if(++count==6)return;}}publicstaticvoidmain(Stringargs[]){for(inti=0;i〈5;i++)newThread(newMyThread(i+1)).start();}}参考代码:packageedu.cs.ding;publicclassMyThreadimplementsRunnable{intcount=1,number;publicMyThread(intnum){number=num;}publicvoidrun(){while(true){if(number%2==0){System.out.println("这是一个练习!");try{Thread.currentThread().sleep(1000);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}else{System.out.println("Thisisanexercise!");try{Thread.currentThread().sleep(1000);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}}publicstaticvoidmain(Stringargs[]){newThread(newMyThread(1)).start();newThread(newMyThread(2)).start();}}实验结果分析分析两线程交替运行的情况,考虑能否采取一些措施控制两线程的交替次序。