学习笔记与练习。

每天紧张的学习、复习已经成了一种习惯,今天比较早完成作业,上传一下,日后自己也可以看看是否有更好的方案。

作业1、打印一句话:老师是个大帅哥! (隔一秒输出一个字)

作业2、自定义一个同步锁。


package Day18;

import java.util.ArrayList;

public class Day18 implements Runnable{

Meeting meeting = new Meeting();

public static void main(String[] args) {

 /*
 //1、打印一句话:老师是个大帅哥! (隔一秒输出一个字)
 String str = "老师是个大帅哥!";
 for (int i = 0;i < str.length();i++) {
  String substr = str.substring(i,i + 1);
  System.out.print(substr);
  try {
   Thread.sleep(1000);
  } catch (InterruptedException e) {
   e.printStackTrace();
  }
 }
 System.out.println("");
 */


 //2、自定义同步,练习同步锁。
 Day18 day18 = new Day18();  
 Thread thread1 = new Thread(day18);
 Thread thread2 = new Thread(day18);
 Thread thread3 = new Thread(day18);
 Thread thread4 = new Thread(day18);
 Thread thread5 = new Thread(day18);
 Thread thread6 = new Thread(day18);
 thread1.setName("  孙悟空 ");
 thread2.setName("  猪八戒 ");
 thread3.setName("  唐  僧 ");
 thread4.setName("玉皇大帝 ");
 thread5.setName("  如  来 ");
 thread6.setName("  蜘蛛精 ");

 thread3.setPriority(Thread.NORM_PRIORITY + 5);
 thread1.start();
 thread2.start();
 thread3.start();
 thread4.start();
 thread5.start();
 thread6.start();
}

@Override
public void run() {
 meeting.getRoom(Thread.currentThread().getName());
//  meeting.giveupRoom(Thread.currentThread().getName());
}

}

class Meeting {
int roomnumber = 4;
ArrayList<String> person = new ArrayList<String>();
public void getRoom (String chairman) {
 synchronized(this) {
  if (this.roomnumber > 0) {
   roomnumber -= 1;
   try {
    Thread.sleep(30);
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
   System.out.println(chairman + ":您已成功预订会议室,目前会议室还有" + roomnumber + "间。");
   person.add(chairman);
  } else {
   System.out.println(chairman + ":您预订迟了,目前已无会议室");
  }
 }
}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章