drumbeater.java

来自「java与模式 一书的源码」· Java 代码 · 共 51 行

JAVA
51
字号
package com.javapatterns.chainofresp.flowerpassingthread;

import java.lang.Thread;
import java.util.Timer;
import java.util.TimerTask;

public class DrumBeater
{
    private static Player firstPlayer;
    public static boolean stopped = false;
    Timer timer;

	static public void main(String[] args)
	{
        DrumBeater drumBeater = new DrumBeater();

        JiaMu jiaMu = new JiaMu(null);

		jiaMu.setSuccessor( new JiaShe (
            new JiaZheng(
            new JiaBaoYu(
            new JiaHuan( jiaMu ) ) ) ) );

        drumBeater.startBeating(1);

        firstPlayer = jiaMu;
        firstPlayer.handle();

	}

	public void startBeating(int stopInSeconds)
	{
		System.out.println("Drum beating started...");

        timer = new Timer();
        timer.schedule(new StopBeatingReminder(), stopInSeconds * 1000);

	}

    class StopBeatingReminder extends TimerTask
    {
        public void run()
        {
            System.out.println("Drum beating stopped!");
            stopped = true;
            timer.cancel(); //Terminate the timer thread
        }
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?