如何命名一个线程?

我怎样才能命名这个Thread

  override val t: Thread = Thread { try { transmit() } catch (e: Exception) { println("Transmitter throws exception: $e") } } 

2 Solutions collect form web for “如何命名一个线程?”

您可以使用stdlib中的thread函数创建一个命名的线程:

 fun thread( start: Boolean = true, isDaemon: Boolean = false, contextClassLoader: ClassLoader? = null, name: String? = null, priority: Int = -1, block: () -> Unit ): Thread 

只是改变你的代码:

 override val t: Thread = thread(name = "transmitter thread") { try { transmit() } catch (e: Exception) { println("Transmitter throws exception: $e") } } 

为了在线程中设置线程的名字,你不能使用Thread的构造函数来接收Runnable 。 您需要使用对象表达式来对Thread类进行子类化:

 val thread = object : Thread() { override fun run() { name = "thread with random name: ${Math.random()}" } } 

你可以使用Thread的构造函数,尽管由于它的参数是如何排序的,你必须这样做:

 override val t: Thread = Thread({ try { transmit() } catch (e: Exception) { println("Transmitter throws exception: $e") }}, "Your name here") } 
  • 你能在Kotlin的运行时连接语句吗?
  • Corda V1.0 IOU演示在Windows上不起作用
  • Kotlin中元组的模式匹配
  • 处理一个可以在kotlin中返回null的对象
  • 如何使用Kotlin设置OnEditorActionListener
  • VertX Web不删除Cookie
  • 为“Number Classes”重载+和+ =运算符
  • Kotlin:ProGuard擦除属性属性
  • 创建新的空行为后出错
  • kotlin自动文档工具
  • 如何在Kotlin的字符串中替换重复的空格?
  • Kotlin language will be the best programming language for Android.