一学期的Java学习结束了,对Java的学习也有一定的感触,一开始的翻转课堂感觉很累,但现在想来,那段时间是我这学期学习Java收获最大的一段时间,非常感谢java老师这学期对我们严格的要求。
回顾已学过的知识,自我感觉继承、接口那一块应该是整个学期学的最扎实的一块,再往后,不知道是自己松懈了还是各种杂七杂八的事情比赛变多了,后边的学习越来越不扎实了,尤其是到了后面图形用户界面,什么面板什么按钮什么组件,学的真的是一塌糊涂,点名器都不知道从哪开始着手,已经涂涂改改了好几遍,还是在面板那纠结着,想找代码借鉴一下,可是又感觉跟以前不一样,前面的学习都是从基础做起,但这次自主编程,第一个便是点名器,真的感觉有压力,思路是先做好面板,组件放入合适位置,然后用文件名字随机出现,最后事件监听器,再在主方法中调用,感觉自己想法很好,但付诸行动的的时候不知道着手的方向在哪。还要有上周的售票机,我虽然最后做出来了,但是还是不能特别符合要求,我用了三个线程,每个线程都是事先分配好的售出哪几张票,但这会引发不公平,事后我找了同学的代码,运行出来的都是用的接口,而且解决不稳定用的是synchronized关键字,但是没有像老师讲授的那样直接放到类名void的前面,而且必须用if、while语句控制循环,用for循环就会出错,下面是其代码,希望可以讲解一下。
class MyThread implements Runnable{
	private int num=10;
	public void run() {
		while(true){
			synchronized (this) {
				if(num>0){
					System.out.println(Thread.currentThread().getName()+"窗口售:"+"第"+num+"张票");
					try {
						Thread.sleep(1000);
						}
					catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
						}
					num--;
					}
				}
			}
		}
}
public class booking{
	public static void main(String args[]){
		MyThread mt=new MyThread();
		Thread t1=new Thread(mt);
		Thread t2=new Thread(mt);
		Thread t3=new Thread(mt);
		t1.start();
		t2.start();
		t3.start();
		}
}
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号