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

进程与线程

开发平台:

Java

  1. public class ThreadID extends ThreadLocal {
  2. private int nextID;
  3. public ThreadID() {
  4. nextID = 10001;
  5. }
  6. private synchronized Integer getNewID() {
  7. Integer id = new Integer(nextID);
  8. nextID++;
  9. return id;
  10. }
  11. // override ThreadLocal's version
  12. protected Object initialValue() {
  13. print("in initialValue()");
  14. return getNewID();
  15. }
  16. public int getThreadID() {
  17. // Call get() in ThreadLocal to get the calling
  18. // thread's unique ID.
  19. Integer id = (Integer) get(); 
  20. return id.intValue();
  21. }
  22. private static void print(String msg) {
  23. String name = Thread.currentThread().getName();
  24. System.out.println(name + ": " + msg);
  25. }
  26. }