本次PTA做业题集多线程java
实现Runnable接口;
休眠让其余线程执行,减小CPU占用的时间多线程
小球的移动,得到小球的x,y坐标;添加小球,并在画面上显示;
存放小球;生成一个BallComponent对象;在不一样线程执行学习
并回答:a)经过定义Runnable接口的实现类来实现多线程程序比经过继承自Thread类实现多线程程序有何好处?b) 6-1,6-3,6-11实验总结。
a)实现Runnable接口能够一个任务多个线程执行,继承只能继承一个类有很大的局限。线程
b)
6-2 继承Thread类便可;
6-3 的Runnable 要 new 不然会提示静态资源没法访问动态资源;
6-11 实现runnable接口设计
改写的代码以下:3d
public class Main { public static void main(String[] args) { final String mainThreadName = Thread.currentThread().getName(); Thread t1 = new Thread(); Runnable runnable = ()->{ System.out.println(mainThreadName); System.out.println(t1.getClass().getInterfaces()); System.out.println(Arrays.toString(t1.getClass().getInterfaces())); }; new Thread(runnable).start(); } }
暴力方法stop,但不推荐;
用 while(flag) ,经过改变flag的值来使循环结束从而结束这个线程;
6-2 忘记判断空耽误了时间code
完成题集6-4(互斥访问)与6-5(同步访问)component
同步代码块;视频
同步方法是方法名用synchronized修饰;
同步代码块只在内部使用synchonrized
加锁,范围小;对象
有锁的线程执行,其他的线程没法打扰,且在Lock Pool
等待锁的释放;
无锁线程进入Look Pool
状态,等待锁被释放。锁释放后,线程进入Runnable
状态,线程执行完毕释放锁。如此循环。
用等wait
,通知notify
,互斥synchronized
实现线程之间的通讯;
运行结果是混乱的,反复出现无货、已满;
线程处理数据的速度不一样,致使混乱;
类 | 负责人 | 功能 |
---|---|---|
Main | 朱汇盈 | 控制程序 |
User、BookInfo | 刘思远 | 用户信息、图书信息 |
BookList | 陈剑波 | 书库管理 |
全部图书存储在 list里:
private static ArrayList<BookInfo> list = new ArrayList<BookInfo>();
//按书号、名称查找 public static int searchNo(long no) public static int[] searchNameAll(String name) //借书和还书 public static boolean borrow(long no,long boNo) public static void returnBook(long no,long boNo) //删除、添加、修改书籍 public static void del(long no) public static void add(String name,long no,String author,boolean isBorrow,long boNo) public static void changeList(String name,long no,String author,boolean isBorrow,long boNo) //显示书籍 public static void show() public static BookInfo getOne(int po)
题目集:多线程
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 而后搜索并截图
必须出现几个要素:提交日期-用户名(姓名与学号)-不提交说明
须要有两张图(1. 排名图。2.PTA提交列表图)
须要将每周的代码统计状况融合到一张表中。
周次 | 总代码量 | 新增代码量 | 总文件数 | 新增文件数 |
---|---|---|---|---|
1 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 |
3 | 472 | 472 | 11 | 11 |
4 | 472 | 0 | 11 | 0 |
5 | 468 | -4 | 12 | 1 |
6 | 1043 | 575 | 30 | 18 |
7 | 2417 | 1374 | 51 | 21 |
8 | 5129 | 2712 | 83 | 32 |
9 | 5284 | 155 | 89 | 6 |
10 | 5714 | 430 | 98 | 9 |
11 | 5995 | 281 | 105 | 7 |
12 | 6365 | 370 | 114 | 9 |