Groovy 线程

xiaoxiao2021-02-28  103

首先申明下,本文为笔者学习《Groovy 程序设计》的笔记,并加入笔者自己的理解和归纳总结。

1、Groovy中,调用Thread的静态方法start来创建线程。

[java] view plain copy def printThreadInfo() {      Thread currentThread = Thread.currentThread()      println "Current Thread is ${currentThread}"  }    printThreadInfo()  Thread.start {      printThreadInfo();  }   返回 Current Thread is Thread[main,5,main] Current Thread is Thread[Thread-1,5,main]

2、sleep方法可以用来暂停当前操作。

[java] view plain copy startTime = System.currentTimeMillis()  new Object().sleep(2000)    endTime = System.currentTimeMillis()  println "Thread last ${endTime - startTime} MilliSeconds"   返回 Thread last 2001 MilliSeconds

3、如果sleep方法返回true,inturrpt方法可以打断sleep。

[java] view plain copy def interruptSleep(name, flag) {      thread = Thread.start(name) {          startTime = System.currentTimeMillis()          new Object().sleep(2000) {              flag          }          endTime = System.currentTimeMillis()                    Thread currentThread = Thread.currentThread()          println "${currentThread} last ${endTime - startTime} MilliSeconds"      }      thread.interrupt()  }    interruptSleep("thread1"true)  interruptSleep("thread2"false)   返回 Thread[thread1,5,main] last 2 MilliSeconds Thread[thread2,5,main] last 2001 MilliSeconds

4、Daemon线程在主线程退出后不再运行。

[java] view plain copy Thread.start {      startTime = System.currentTimeMillis()      new Object().sleep(2000)      endTime = System.currentTimeMillis()      println "Thread last ${endTime - startTime} MilliSeconds"  }    Thread.startDaemon {      startTime = System.currentTimeMillis()      new Object().sleep(3000)      endTime = System.currentTimeMillis()      println "Daemon Thread last ${endTime - startTime} MilliSeconds"  }   返回 Thread last 2002 MilliSeconds
转载请注明原文地址: https://www.6miu.com/read-57600.html

最新回复(0)