challenge 出力の一時停止と再開

起動すると、標準出力に1秒毎に'a'の1文字を出力し続けるプログラムで、 以下の条件を満たすものを「どう書く?」

  • 'q'キーが押されるとプログラムは終了する
  • 出力中に'p'キーが押されると一時停止する
  • 一時停止中に'p'キーが押されると出力を再開する

Posted feedbacks - Groovy

groovyで組んでみました。 スレッド処理はまともに書くこともないので、 誤りなどあったらレスよろしくです。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
def stop = false
def outThread = new Thread({
    while(true){
        Thread.sleep(1000)
        while(stop){
            Thread.sleep(1000)
        }
        print 'a'
    }
} as Runnable).start()

while(true){
    switch(System.in.newReader().readLine()){
    case "q":
        System.exit(0)
        break;
    case "p":
        stop = !stop
        break;
    }
}

Index

Feed

Other

Link

Pathtraq

loading...