资源简介
1. 建立三个线程,并且同时运行它们。当运行时输出线程的名称。
实验步骤:
(1)、创建类sy6_1
(2)、创建三个线程,调用start()方法启动这三个线程
(3)、保存文件,调试并编译运行程序。
参考程序运行效果:
2. 实现3个类:Storage、Counter和Printer。 Storage类应存储整数。 Counter应创建线程,线程从0开始计数(0,1,2,3…)并将每个值存储到Storage类中。 Printer类应创建一个线程,线程读取Storage类中的值并打印值。编写程序创建Storage类的实例,并创建一个Counter对象和Printer对象操作此实例。
实验步骤:
(1)、创建三个类Counter, Printer,Storage
(2)、创建TestCounter类,在该类中定义main函数,在main函数中定义Storage对象、Counter对象和 Printer对象,创建Counter线程和Printer线程并启动
(3)、保存文件,调试并编译运行程序。
参考程序运行效果:
3. 修改实验1第2题的程序,添加适当代码,以确保每个数字都恰好只被打印一次。
实验步骤:
(1)、创建三个类Counter, Printer,Storage
(2)、 创建TestCounter类,在该类中定义main函数,在main函数中定义Storage对象、Counter1对象和 Printer对象,创建Counter线程和Printer线程并启动
(3)、在定义Storage类中的setValue(int i) 和getValue ()方法时使用synchronized关键字,将其定义为同步方法
(4)、保存文件,调试并编译运行程序。
参考程序运行效果:
代码片段和文件信息
public class sy6_1 extends Thread{
public static void main(String[] args) {
ThreadFisrt first = null;
ThreadSecond second = null;
ThreadThird third = null;
for(int i=1;i<=5;i++) {
first = new ThreadFisrt();
first.start();
second = new ThreadSecond();
second.start();
third = new ThreadThird();
third.start();
}
}
}
class ThreadFisrt extends Thread{
public void run() {
System.out.println(“the thread is: thread 1“);
}
}
class ThreadSecond extends Thread{
public void run() {
for(int i=1;i<=5;i++)
System.out.println(“the thread is: thread 2“);
}
}
class ThreadThird extends Thread{
public void run() {
for(int i=1;i<=5;i++)
System.out.println(“the thread is: thread 3“);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 387222 2017-12-07 21:53 1.docx
文件 588 2017-12-01 18:57 1-1和3\Main\.classpath
文件 904 2017-12-01 18:58 1-1和3\Main\.project
文件 567 2017-12-01 18:58 1-1和3\Main\.settings\.jsdtscope
文件 364 2017-12-01 18:57 1-1和3\Main\.settings\org.eclipse.jdt.core.prefs
文件 464 2017-12-01 18:57 1-1和3\Main\.settings\org.eclipse.wst.common.component
文件 305 2017-12-01 18:58 1-1和3\Main\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2017-12-01 18:58 1-1和3\Main\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2017-12-01 18:58 1-1和3\Main\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 1304 2017-12-01 19:08 1-1和3\Main\build\classes\MyThread\SimpleThread.class
文件 1184 2017-12-01 19:26 1-1和3\Main\build\classes\MyThread\ThreadFirst.class
文件 713 2017-12-01 19:26 1-1和3\Main\build\classes\MyThread\ThreadSecond.class
文件 877 2017-12-01 19:26 1-1和3\Main\build\classes\MyThread\TwoThread.class
文件 724 2017-12-01 19:55 1-1和3\Main\build\classes\sy6_1.class
文件 1042 2017-12-01 20:30 1-1和3\Main\build\classes\test6\Counter.class
文件 1406 2017-12-01 20:30 1-1和3\Main\build\classes\test6\Printer.class
文件 551 2017-12-01 20:03 1-1和3\Main\build\classes\test6\Storage.class
文件 723 2017-12-01 20:13 1-1和3\Main\build\classes\test6\TestCounter.class
文件 487 2017-12-01 19:55 1-1和3\Main\build\classes\ThreadFisrt.class
文件 557 2017-12-01 19:55 1-1和3\Main\build\classes\ThreadSecond.class
文件 555 2017-12-01 19:55 1-1和3\Main\build\classes\ThreadThird.class
文件 632 2017-12-01 19:08 1-1和3\Main\src\MyThread\SimpleThread.java
文件 1276 2017-12-01 19:26 1-1和3\Main\src\MyThread\TwoThread.java
文件 763 2017-12-01 19:55 1-1和3\Main\src\sy6_1.java
文件 598 2017-12-07 21:23 1-1和3\Main\src\test6\Counter.java
文件 568 2017-12-07 21:23 1-1和3\Main\src\test6\Printer.java
文件 285 2017-12-01 20:03 1-1和3\Main\src\test6\Storage.java
文件 260 2017-12-07 21:24 1-1和3\Main\src\test6\TestCounter.java
文件 39 2017-12-01 18:57 1-1和3\Main\WebContent\me
文件 727 2017-12-07 21:54 1-2\test6\Counter.java
............此处省略22个文件信息
评论
共有 条评论