TestExecutor.java 901 B

12345678910111213141516171819202122232425262728293031
  1. import java.util.concurrent.*;
  2. public class TestExecutor {
  3. public static void main(String[] args) {
  4. Thread daemon = new Thread(new MyDaemon());
  5. daemon.setDaemon(true);
  6. daemon.start();
  7. // ExecutorService executor = Executors.newCachedThreadPool();
  8. // ExecutorService executor = Executors.newSingleThreadExecutor();
  9. ExecutorService executor = Executors.newFixedThreadPool(2);
  10. for (int i = 0; i < 5; i++) {
  11. executor.execute(new MyRunnable(i));
  12. }
  13. executor.shutdown();
  14. }
  15. }
  16. class MyDaemon implements Runnable {
  17. @Override
  18. public void run() {
  19. while (true) {
  20. Thread.yield();
  21. try {
  22. Thread.sleep(1000);
  23. } catch (Exception e) {
  24. e.printStackTrace();
  25. }
  26. System.out.println("Daemon is running.");
  27. }
  28. }
  29. }