Thread는 개발하면서 많이 쓰이는 클래스 중 하나 입니다. 하지만 요구사항에 따라서는 Thread의 Pause, Resume, Stop이 필요한 경우가 생기는데 이 때 활용 할 수 있는 Thread Demo Class 입니다.
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 51 | public class ThreadDemo implements Runnable { private String mName; private Thread mThread; private boolean mStop = false; private boolean mPause = false; public ThreadDemo(String name) { mName = name; } @Override public void run() { try { while(!mStop) { synchronized(this) { while(mPause) { wait(); } } // TODO: insert your work code } } catch(InterruptedException e) { e.printStackTrace(); } } public void start() { if(mThread == null) { mThread = new Thread(this, mName); mThread.start(); } } public void stop() { mStop = true; } public void pause() { mPause = true; } public synchronized void resume() { mPause = false; notify(); } } |