【问题标题】:How to set name to the thread?如何为线程设置名称?
【发布时间】:2012-07-12 17:53:26
【问题描述】:

有没有办法在代码中为线程设置一个友好的名称?

例如,我希望图像上名为 Thread-11 的线程被命名为“MyImportThread”。

【问题讨论】:

  • 是的..这是一个非常愚蠢的问题,但我对如何做有点困惑...... :)谢谢答案,我什至不知道他们中的哪个选择正确:)

标签: java android multithreading debugging


【解决方案1】:

您可以轻松地在其构造函数中传递线程名称,例如:

Thread foo = new Thread("Foo");

...或致电Thread#setName:

public final void setName (String threadName)

设置线程的名称。

thread.setName("Thread-11");Thread.currentThread().setName("Thread-11");

【讨论】:

    【解决方案2】:

    查看Thread constructors,有几个带有String name参数。或者您可以在现有线程上调用setName(String)

    【讨论】:

      【解决方案3】:

      你尝试过这样的事情吗?

      Thread.currentThread().setName("MyThread");
      

      还要查看Threads reference,尤其是构造函数。

      【讨论】:

        【解决方案4】:

        Thread 类有一个方法:

        public final void setName (String threadName)
        
        Since: API Level 1
        Sets the name of the Thread.
        

        你试过了吗?

        【讨论】:

          【解决方案5】:

          试试这个:

          Thread thread = new Thread("MyImportThread") {
                public void run(){    
                  // code
                }
             };
             thread.start();
             System.out.println(thread.getName());
          

          【讨论】:

            【解决方案6】:

            是的,您可以使用以下方法为线程设置名称:

            Thread.getCurrentThread().setName(threadName);
            

            【讨论】:

              猜你喜欢
              • 2010-10-28
              • 1970-01-01
              • 2017-12-25
              • 2012-07-27
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-12-19
              • 2011-01-23
              相关资源
              最近更新 更多