今天温习了一下多线程,觉得挺有意思,看到时钟就想到做一个多线程的程序来模拟时钟的工作过程,没有写界面,基本功能还是实现了,做的比较粗糙,请大家不吝赐教
基本思路:分别用三个线程分别模拟时针、分针、秒针,秒针每过1秒针移动一小格(为了尽快看结果可以把时间设定的更短),每走60步,让分针移动一格,分针每走12格。让时针移动一格。我认为三个线程之间的关系不是共享资源而是驱动的关系,类似于master 跟slave,秒针走了60格就唤醒分针走一格,然后分针不动。此处不是wait和notify组合,我用的是suspend和resume,因为这更贴切于这个关系的模拟,另外我也不知怎么在这儿用wait和notify,如果您知道互相交流一下~
import java.text.SimpleDateFormat;
import java.util.Date;
public class Clock {
public Date now=new Date();
public static void main(String[] args) {
SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");
Clock clock=new Clock();
String time=sdf.format(clock.now);
System.out.println("\t\t\tCurrent Time: "+time);
int hour=Integer.parseInt(time.substring(0,2));
int minute=Integer.pa