多线程_获取和设置线程对象名称

左手的ㄟ右手 2022-09-27 14:25 256阅读 0赞
  1. package cn.itcast_03;
  2. /*
  3. * 如何获取线程对象的名称呢?
  4. * public final String getName():获取线程名称。
  5. * 如何设置线程对象的名称呢?
  6. * public final void setName(String name):设置线程的名称。
  7. *
  8. * 针对不是继承Thread类的子类该如何获取线程名称呢?
  9. * public static Thread currentThread():返回当前正在执行的线程对象
  10. * Thread.currentThread().getName();
  11. */
  12. public class MyThreadDemo {
  13. public static void main(String[] args) {
  14. // 创建线程对象
  15. // 无参构造+setXxx()
  16. // MyThread my1 = new MyThread();
  17. // MyThread my2 = new MyThread();
  18. //
  19. // // 调用方法设置名称
  20. // my1.setName("朱茵");
  21. // my2.setName("周星星");
  22. // // 启动线程
  23. // my1.start();
  24. // my2.start();
  25. // 带参构造方法给线程起名字
  26. // MyThread my1 = new MyThread("朱茵");
  27. // MyThread my2 = new MyThread("周星星");
  28. //
  29. // my1.start();
  30. // my2.start();
  31. // 我要获取main方法所在的线程对象的名称,该怎么办呢
  32. System.out.println(Thread.currentThread().getName());
  33. }
  34. }
  35. /*
  36. 名称为什么是:Thread-? 编号
  37. class Thread{
  38. private char name[];
  39. public Thread() {
  40. init(null, null, "Thread-" + nextThreadNum(), 0);
  41. }
  42. public Thread(String name) {
  43. init(null, null, name, 0);
  44. }
  45. private void init(ThreadGroup g, Runnable target, String name,
  46. long stackSize) {
  47. // 大部分代码省略了
  48. this.name = name.toCharArray();
  49. }
  50. private static int threadInitNumber;
  51. private static synchronized int nextThreadNum() {
  52. return threadInitNumber++;
  53. }
  54. public final String getName() {
  55. return String.valueOf(name);
  56. }
  57. }
  58. class MyThread extends Thread{
  59. public MyThread(){
  60. super();
  61. }
  62. }
  63. */
  64. package cn.itcast_03;
  65. public class MyThread extends Thread {
  66. public MyThread() {
  67. }
  68. public MyThread(String name) {
  69. super(name);
  70. }
  71. @Override
  72. public void run() {
  73. for (int x = 0; x < 30; x++) {
  74. System.out.println(getName() + ":" + x);
  75. }
  76. }
  77. }

发表评论

表情:
评论列表 (有 0 条评论,256人围观)

还没有评论,来说两句吧...

相关阅读