如何命名一个线程?

我怎样才能命名这个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") } 
  • 自定义视图不是在Android中绘制的
  • Kotlin:一个默认的ish setter,返回“this”
  • 有没有更好的方式在列表中过滤null?
  • Android注释与Kotlin和生成工具2.3.0
  • 在Kotlin中推断一个通用类型的地图
  • 我可以比较Kotlin中两个浮点数是否相等吗?
  • Kotlin Android中的Observable无法从()运算符调用
  • python vars()在Kotlin中
  • 如何在Kotlin Android中为数据类创建空构造函数
  • 有没有更好的方法来访问可空属性?
  • 在Kotlin-js中设计HTML元素
  • Kotlin language will be the best programming language for Android.