实验12 java多线程(含答案)

2018-12-22 22:12

实验12:Java多线程 一、实验目的

(1)了解线程的概念。

(2)学习简单的多线程编程。 二、实验任务

(1)阅读给定的Java Application程序,按要求回答问题并写出运行结果。

(2)按要求编写一个Java Application程序,并编译、运行这个程序。 三、实验内容

1.输入下面的Java Application程序,运行该程序,并简要分析程序的运行结果。

1: class SimpleThread extends Thread { 2: public SimpleThread(String str) {

3: 【代码1】super(str); //调用其父类的构造方法 4: }

5: public void run() { //重写run方法 6: for (int i = 0; i < 10; i++) {

7: System.out.println(i + \8: //打印次数和线程的名字 9: try {

10: sleep((int)(Math.random() * 1000)); 11: //线程睡眠,把控制权交出去 12: }

13: catch (【代码2】) { } //捕获中断异常 14: }

15: System.out.println(\16: //线程执行结束 17: } 18:}

1: public class TwoThreadsTest {

2: public static void main (String args[]) { 3: new SimpleThread(\4: //第一个线程的名字为First

5: SimpleThread spt= new SimpleThread(\第 二个线程的名字为Second

6: 【代码3】spt.start(); //启动second线程 7: } 8: }

2、使用接口创建线程

1:public class MyThread2 implements Runnable【代码1】{

2:int count=1,number;

3:public MyThread2(int i){ 4:number=i; 5: System.out.println(\创建线程\+number); 6:}

7:public void run()【代码2】{//重写run()方法 8:while(true){

9: System.out.println(\线程\+number+\:计数\+count);

10: if(++count==6)return; 11:} 12:}

13:public static void main(String[] args){ 14: for(int i=0;i<5;i++)

15: new Thread(【代码3】).start(); 16: }}

3、实现两个定时线程,一个线程每隔1秒显示一次,一个线程每隔

3秒显示一次。 答:源程序:

import java.io.*;

public class Time {

static Lefthand left; //声明静态的类的对象 static Righthand right;

public static void main(String args[]) {

left=new Lefthand() ; //创建两个线程。 right=new Righthand();

left.start(); //线程开始运行后,Lefthand类中的run方法将被执行。 right.start(); } }

class Lefthand extends Thread //lefthand类继承Thread类 {

public void run() {

for(;;)

{

System.out.println(\每1秒显示一次!\

Try {

sleep(1000); //使当前活动线程睡眠1秒 }

catch(InterruptedException e){} //捕捉异常 } } }

class Righthand extends Thread {

public void run() {

for(;;) {

System.out.println(\每3秒显示一次!\Try {

sleep(3000); }

catch(InterruptedException e){} } } }

运行结果: (这一列是注释) 每1秒显示一次 每3秒显示一次 每1秒显示一次 每1秒显示一次 每3秒显示一次 每1秒显示一次 每1秒显示一次

每1秒显示一次 每3秒显示一次 每1秒显示一次 每1秒显示一次 每1秒显示一次 每3秒显示一次 每1秒显示一次 每1秒显示一次 每1秒显示一次 每3秒显示一次 每1秒显示一次 每1秒显示一次

3、创建两个线程,每个线程打印出线程名字后再睡眠,给其它线程以执行的机会,主线程也要打印出线程名字后再睡眠,每个线程前后共睡眠5次。要求分别采用从Thread中继承和实现Runnable接口两种方式来实现程序。(即写两个程序) import java.io.*;

class NameThread extends Thread{ int time; //睡眠的时间

public NameThread(String n,int t){ super(n); time=t; }

public void run(){

for(int i=1;i<=5;i++){

System.out.println(getName()+\ try{

Thread.sleep(time);

}catch(InterruptedException e){return;} } }

public static void main(String args[]){

NameThread bonnie=new NameThread(\,1000);


实验12 java多线程(含答案).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:湖北省融资租赁公司名录2018版118家

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: