AlternateStop.java
上传用户:songled
上传日期:2022-07-14
资源大小:94k
文件大小:1k
源码类别:

进程与线程

开发平台:

Java

  1. public class AlternateStop extends Object implements Runnable {
  2. private volatile boolean stopRequested;
  3. private Thread runThread;
  4. public void run() {
  5. runThread = Thread.currentThread();
  6. stopRequested = false;
  7. int count = 0;
  8. while ( !stopRequested ) {
  9. System.out.println("Running ... count=" + count);
  10. count++;
  11. try {
  12. Thread.sleep(300);
  13. } catch ( InterruptedException x ) {
  14. Thread.currentThread().interrupt(); // re-assert interrupt
  15. }
  16. }
  17. }
  18. public void stopRequest() {
  19. stopRequested = true;
  20. if ( runThread != null ) {
  21. runThread.interrupt();
  22. }
  23. }
  24. public static void main(String[] args) {
  25. AlternateStop as = new AlternateStop();
  26. Thread t = new Thread(as);
  27. t.start();
  28. try {
  29. Thread.sleep(2000);
  30. } catch ( InterruptedException x ) {
  31. // ignore
  32. }
  33. as.stopRequest();
  34. }
  35. }