java 实验七_java实验7-多线程编程

1 利用Thread和Runnable创建线程

【实验目的】

(1)理解用实现Runnable接口的方法实现多线程。

(2)掌握线程优先级的设置。

(3)加深对线程状态转换的理解。

【实验要求】

要求一:利用多线程实现旋转的行星

要求二:写一个线程SyncDemo, 给其设计一个方法public class getNumber()从1开始计数到20停止。其中,设计两个同步线程AThread和BThread,均用getNumber()争抢这20个数。

注意线程AThread和BThread的同步控制,保证计数到20即停止。

要求二代码

class SyncDemo implements Runnable {

static int num = 1;

public synchronized Boolean getNumber() throws Exception {

Thread.sleep(100);

if(num <= 20) {

System.out.println(Thread.currentThread().getName()+" "+num++);

return true;

}

return false;

}

public void run() {

try {

while(getNumber());

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

public class Fd {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

SyncDemo demo = new SyncDemo();

Thread AThread = new Thread(demo, "A");

Thread BThread = new Thread(demo, "B");

AThread.start();

BThread.start();

}

}

实验 Java多线程 一、实验目的: 熟悉利用Thread建立多线程方法。 熟悉利用Thread接口建立多线程方法。 二、实验内容: 1. 阅读下列程序,分析并上机检验其功能。 class DelayThread exends Thread{ private static int count=0; private int no; private int delay; public DelayThread(){ count++; no=count; } public void run(){ try{ for (int i=0;i<10;i++){ delay=(int)(Math.random()*5000); sleep(delay); System.out.println(“Thread ”+no+” with a delay ”+delay); } }catch(InterruptedException e){}}} public class MyThread{ public static void main(String args[]){ DelayThread thread1=new DelayThread(); DelayThread thread2=new DelayThread(); thread1.start(); thread2.start(); try{ Thread.sleep(1000);}catch(InterruptedException e){ System.out.println(“Thread wrong”);}}} 2.讲上列程序利用Runnable接口改写,并上机检验。 3.利用多线程编写一个模拟时钟(AWT程序Runnable接口),有时/分/秒针 编写一个应用程序,创建三个线程分别显示各自的时间。 三、实验要求: 1. 通过实验掌握Thread 、Runnable使用方法; 2. 程序必须能够实现多线程; 3. 程序必须能够完成题目要求; 4. 写出实验报告。 四、实验步骤: 首先分析程序功能,再通过上机运行验证自己的分析,从而掌握通过Thread建立多线程方法。 通过将扩展Thread建立多线程方法改为利用Runnable接口方法,掌握通过Runnable接口建立多线程方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值