JAVA의 Timer와 TimerTask

JAVA 2014. 2. 15. 11:30

Timer와 TimerTask를 이용하면 일정시간이 지난후에 해당 task가 실행되도록 해준다.
c의 sleep과의차이점은 sleep은 그 시간동안 아무것도 안하고 기다리는것에 비해
timertask를 이용하면 다른일을 하고 있다가 지정시간이 지난후 해당 task를 실행하므로
용도의차이가 있다.



결과:





코드:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package pkg1;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
class Remotecon{
    boolean open;
    
    Remotecon(){
        this.open = false;
    }
    
    public void pressButton() {
        open = open?false:true;
    }
    
    public void close(){
        this.open = false;
    }
    
    public void open(){
        this.open = true;
        System.out.println("The door opens");
        final Timer timer = new Timer();
        TimerTask timertask = new TimerTask(){
            public void run() {
                close();
                System.out.println("The door closes");
                timer.cancel();
            }
        };
        
        timer.schedule(timertask, 1000);
        

    }
}
 
public class Mytest {
    public static void main(String[] args) {
        Remotecon remotecon = new Remotecon();
        
        remotecon.open();
        
        System.out.println("HI");
        
    }
}
 


설정

트랙백

댓글