
本次PTA作业题集多线程
BounceThreadBallRunnable类有什么用?为什么代码中需要调用Thread.sleep进行休眠?BallRunnable类实现了Runnable方法,实现了多线程;Thread.sleep让该线程暂时挂起,暂缓线程执行时间。public void move()定义了小球的移动方法;public Ellipse2D getShape()获取小球的x,y坐标。6-1:Mythread继承于Thread,用循环输出0~n-1的整数,还需要注意标识信息的位置。
6-3:t1.getClass().getInterfaces为线程t1的线程名;Arrays.toString(t1.getClass().getInterfaces())为线程t1所实现的所有接口。
6-11:除了标识信息System.out.println(Thread.currentThread().getName());其他都与6-1相同。

用stop方法不安全,会导致一些错误;定义一个boolean标记使run方法结束,线程就会退出。
TestUnSynchronizedThread.java源代码使其可以同步访问。(关键代码截图,需出现学号)
完成题集6-4(互斥访问)与6-5(同步访问)

java中每个对象都有同步锁,同步方法是指进入该方法时需要获取this对象的同步锁,而同步代码块则是可以指定需要获取哪个对象的同步锁。
wait,notify和notifyAll。
MyProducerConsumerTest.java。正常运行结果应该是仓库还剩0个货物。多运行几次,观察结果,并回答:结果正常吗?哪里不正常?为什么?结果不正常;如图:

因为Producer和Customer存取速度不同,原因是二者之间没有进行“交流”,导致异常。




| 类 | 负责人 | 功能 |
|---|---|---|
| Main | 朱汇盈 | 控制程序 |
| User、BookInfo | 刘思远 | 用户信息、图书信息 |
| BookList | 陈剑波 | 书库管理 |

用户信息和图书信息均用用动态数组存储,以下代码是对数组的操作
BookInfo类:

User类:

题目集:多线程




| 周次 | 总代码量 | 新增代码量 | 总文件数 | 新增文件数 |
|---|---|---|---|---|
| 1 | 0 | 0 | 0 | 0 |
| 2 | 0 | 0 | 0 | 0 |
| 3 | 0 | 0 | 0 | 0 |
| 4 | 0 | 0 | 0 | 0 |
| 5 | 322 | 322 | 5 | 5 |
| 6 | 729 | 407 | 12 | 7 |
| 7 | 1074 | 245 | 20 | 8 |
| 8 | 1958 | 884 | 29 | 9 |
| 9 | 2216 | 258 | 36 | 7 |
| 10 | 2687 | 471 | 43 | 7 |
| 11 | 2914 | 227 | 49 | 6 |
| 12 | 3240 | 326 | 58 | 9 |
原文:http://www.cnblogs.com/lsyuan/p/7955290.html