从硬件发展来看,从最初的单核单CPU,到单核多CPU,多核多CPU,似乎已经到了极限了,但是单核CPU性能却还在不断提升。如果将程序分为IO密集型应用和CPU密集型应用,二者的发展历程大致如下:
IO密集型应用: 多进程->多线程->事件驱动->协程
CPU密集型应用:多进程->多线程
如果说多进程对于多CPU,多线程对应多核CPU,那么事件驱动和协程则是在充分挖掘不断提高性能的单核CPU的潜力。常见的有性能瓶颈的API (例如网络 IO、文件 IO、CPU 或 GPU 密集型任务等),要求调用者阻塞(blocking)直到它们完成才能进行下一步。后来,我们又使用异步回调的方式来实现非阻塞,但是异步回调代码写起来并不简单。
协程提供了一种避免阻塞线程并用更简单、更可控的操作替代线程阻塞的方法:协程挂起。
协程主要是让原来要使用“异步+回调方式”写出来的复杂代码, 简化成可以用看似同步的方式写出来(对线程的操作进一步抽象)。这样我们就可以按串行的思维模型去组织原本分散在不同上下文中的代码逻辑,而不需要去处理复杂的状态同步问题。
协程最早的描述是由Melvin Conway于1958年给出:“subroutines who act as the master program”(与主程序行为类似的子例程)。此后他又在博士论文中给出了如下定义:
数据在后续调用中始终保持( The values of data local to a coroutine persist between successive calls 协程的局部)
当控制流程离开时,协程的执行被挂起,此后控制流程再次进入这个协程时,这个协程只应从上次离开挂起的地方继续 (The execution of a coroutine is suspended as control leaves it, only to carry on where it left off when control re-enters the coroutine at some later stage)。
协程的实现要维护一组局部状态,在重新进入协程前,保证这些状态不被改变,从而能顺利定位到之前的位置。
协程可以用来解决很多问题,比如nodejs的嵌套回调,Erlang以及Golang的并发模型实现等。
实质上,协程(coroutine)是一种用户态的轻量级线程。它由协程构建器(launch coroutine builder)启动。
下面我们通过代码实践来学习协程的相关内容。
9.1.1 搭建协程代码工程
首先,我们来新建一个Kotlin Gradle工程。生成标准gradle工程后,在配置文件build.gradle中,配置kotlinx-coroutines-core依赖:
添加 dependencies :
compile 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.16'
kotlinx-coroutines还提供了下面的模块:
compile group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-jdk8', version: '0.16'
compile group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-nio', version: '0.16'
compile group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-reactive', version: '0.16'
我们使用Kotlin最新的1.1.3-2 版本:
buildscript {
ext.kotlin_version = '1.1.3-2'
...
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
其中,kotlin-gradle-plugin是Kotlin集成Gradle的插件。
另外,配置一下JCenter 的仓库:
repositories {
jcenter()
}
9.1.2 简单协程示例
下面我们先来看一个简单的协程示例。
运行下面的代码:
fun firstCoroutineDemo0() {
launch(CommonPool) {
delay(3000L, TimeUnit.MILLISECONDS)
println("Hello,")
}
println("World!")
Thread.sleep(5000L)
}
你将会发现输出:
World!
Hello,
上面的这段代码:
launch(CommonPool) {
delay(3000L, TimeUnit.MILLISECONDS)
println("Hello,")
}
等价于:
launch(CommonPool, CoroutineStart.DEFAULT, {
delay(3000L, TimeUnit.MILLISECONDS)
println("Hello, ")
})
9.1.3 launch函数
这个launch函数定义在kotlinx.coroutines.experimental下面。
public fun launch(
context: CoroutineContext,
start: CoroutineStart = CoroutineStart.DEFAULT,
block: suspend CoroutineScope.() -> Unit
): Job {
val newContext = newCoroutineContext(context)
val coroutine = if (start.isLazy)
LazyStandaloneCoroutine(newContext, block) else
StandaloneCoroutine(newContext, active = true)
coroutine.initParentJob(context[Job])
start(block, coroutine, coroutine)
return coroutine
}
launch函数有3个入参:context、start、block,这些函数参数分别说明如下:
![](data:image/png;base64,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)
这个launch函数返回一个Job类型,Job是协程创建的后台任务的概念,它持有该协程的引用。Job接口实际上继承自CoroutineContext类型。一个Job有如下三种状态:
![](data:image/png;base64,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)
也就是说,launch函数它以非阻塞(non-blocking)当前线程的方式,启动一个新的协程后台任务,并返回一个Job类型的对象作为当前协程的引用。
另外,这里的delay()函数类似Thread.sleep()的功能,但更好的是:它不会阻塞线程,而只是挂起协程本身。当协程在等待时,线程将返回到池中, 当等待完成时, 协程将在池中的空闲线程上恢复。
9.1.4 CommonPool:共享线程池
我们再来看一下launch(CommonPool) {...}这段代码。
首先,这个CommonPool是代表共享线程池,它的主要作用是用来调度计算密集型任务的协程的执行。它的实现使用的是java.util.concurrent包下面的API。它首先尝试创建一个java.util.concurrent.ForkJoinPool(ForkJoinPool是一个可以执行ForkJoinTask的ExcuteService,它采用了work-stealing模式:所有在池中的线程尝试去执行其他线程创建的子任务,这样很少有线程处于空闲状态,更加高效);如果不可用,就使用java.util.concurrent.Executors来创建一个普通的线程池:Executors.newFixedThreadPool。相关代码在kotlinx/coroutines/experimental/CommonPool.kt中:
private fun createPool(): ExecutorService {
val fjpClass = Try { Class.forName("java.util.concurrent.ForkJoinPool") }
?: return createPlainPool()
if (!usePrivatePool) {
Try { fjpClass.getMethod("commonPool")?.invoke(null) as? ExecutorService }
?.let { return it }
}
Try { fjpClass.getConstructor(Int::class.java).newInstance(defaultParallelism()) as? ExecutorService }
?. let { return it }
return createPlainPool()
}
private fun createPlainPool(): ExecutorService {
val threadId = AtomicInteger()
return Executors.newFixedThreadPool(defaultParallelism()) {
Thread(it, "CommonPool-worker-${threadId.incrementAndGet()}").apply { isDaemon = true }
}
}
这个CommonPool对象类是CoroutineContext的子类型。它们的类型集成层次结构如下:
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABBEAAAKjCAYAAABLKZcvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAP+lSURBVHhe7L0HuFXVmbi/6L1JU4qKgA0VATuCvcbeS6Ix3YwxmZlMJpP5p08mkzaZFH+mmURNNLbYewe7iAIKSAcRkN57+e933bPI8XgubOBe7r3c932e/Zyyy/rWt+r3rbIbbMoIIiIiIiIiIiJboWHhU0RERERERERki+hEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXDTYlFH4LiIiIiJSI6Qu6apVq8KaNWvC+vXrw8aNGzf/LyL1j4YNG4bGjRuHpk2bhpYtW4YGDRrEQ2oWnQgiIiIiUuPQJV23bl14+umnw8svvxwmT54cFi5cGFavXq0jQaSe0rlz59CzZ89w2GGHhTPPPDO0bds2OhakZtGJICIiIiI1CjMOFi9eHP70pz+FkSNHhtmzZ4cVK1aEtWvXxnMiUj9hBkKLFi3CbrvtFg444IDwmc98JvTo0SM0a9ascIXUBDoRRERERKRGYcbBa6+9Fm644Ybs+4LQvXvHsO++PUOXLu0zY6FpcPaySP1j/foNWX2wLEye/H6YMmV29k+jcPnll4ezzjorOhKk5tCJICIiIiI1yoQJE8Itt9wSnnzyydCrV9dw0kmDwpAhh2SGQpfQsmUzpy+L1DMwUdeuXR/mzl0Y3nhjQnjqqRHhpZfeCXvvvXf4xje+EZc3SM1hjSwiIiIi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1GXy5Mlh9uzZYcGCBfGT3/wvItWLTgQREREREalTrFu3Li5jYPYB8Mlv/heR6kUngoiIiIiI1CnWrl0b3nrrrfh2BuCT3/wvItWLTgQREREREakz8PaODz74IEyZMiXugdCmTZv4yW/+57yIVB86EUREREREpM6wbNmyMGHChLBw4cLQsWPH0KtXr/jJb/7nvIhUHzoRRERERESkzsD+B6NHj477H/Tt2zccfvjh8ZPf/J/2SRCR6kEngoiIiIiI1BnY/2DUqFHRadC7d+8wcODA+Mlv/k/7JIhI9aATQURERERE6gRLly4NM2fOjEeLFi1Cnz59wsEHHxw/+Z3OcZ2IVA86EUREREREpE4wd+7cuIEisw5wHHTp0iW0a9cufvKb/znPdSJSPehEEBERERGROsGsWbPCpEmTQpMmTUL//v1D+/bt4/988pv/Oc91IlI96EQQEREREZFaz/r166NzYOrUqaFZs2ZxGQOzEIBPfvM/57mO60Wk6tGJICIiIiIitZ5FixaFGTNmxKUKOA0OOuigDzkR0m/Ocx3Xi0jVoxNBRERERERqPZMnT44zDNq0aRNnHbCRYoMGDeI5PvnN/5znOq4XkaqnwaaMwncREREREZFayV//+tdw//33h/feey/svffe4ZBDDglNmzYtnA1h7dq1YfTo0WHatGmhZ8+e4dxzzw1XXnll4ayIVBU6EUREREREpNaCubJ69erwk5/8JDz99NNh8eLFhTOVw0aLJ510Uvi3f/u30Lx5880zFkRkx3E5g4iIiIiI1Fo2btwYli9fHmcasOfBXnvttflgCQPwWfw/13E993G/iFQdzkQQEREREZFaC+YKB06BDRs2FP6tgJkGL774Yhg8eHCcqVBMo0aN4nIHZiE4E0Gk6nAmgoiIiIiI1FpwADRs2DAuS2jVqtWHDhwFwGfpOa7nPh0IIlWLTgQRERERERERyYVOBBERERERERHJhU4EEREREREREcmFTgQRERERERERyYVOBBERERERERHJhU4EEREREREREcmFTgQRERERERERyYVOBBERERERERHJhU4EEREREREREcmFTgQRERERERERyYVOBBERERERERHJhU4EERERERGp02zcuDGsXr06bNq0qfCPiFQXOhFERERERKROs2rVqjBr1qywYcOGwj8iUl3oRBARERERkTrNwoULw6uvvhrWrFlT+EdEqgudCCIiIiIiUicZOHBg6N27d1zG4CwEkZ2DTgQREREREamTdO7cObRr167wS0R2BjoRRERERESkTtK4cePQqFGjwi8R2RnoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVw02JRR+C4iIiIiUiegC7tq1aqwfPnysGbNmrB+/fr4n13b+sULL7wQnnjiibBw4cJw+umnh5NOOim0aNGicFbqE40aNQpNmjQJzZo1C23bto3fGzRoUDgrVYlOBBERERGpc6xbty6MGDEiPPXUU+Htt98O8+fPDytXrgwbNmwoXCH1AdI7pTlGZMOGDTUc6ynt2rULPXv2DAcccEC49NJLw+677x6aNm1aOCtViU4EEREREakz0HVl1sFf//rX8Nxzz4Xp06dH5wFOBR0IIvUXnEjMQmjVqlXo0aNHuOaaa8KgQYNC69atC1dIVaETQURERETqDCxdePPNN8NNN90Uxo0bFzp02C0ceuihoVu3PULLli2jISEi9Qsci0uXLg3Tpk0Lo0ePDkuWLInLW84///wwcODAwlVSVehEEBEREZE6w7Jly8Lvf//78Pjjj4fmzZuHIUOGhNNOOz307Nkjjjg2bty4cKWI1BeYibRo0aIwYcKE8Oyzz4aHH344tG/fPs5GYGmDVC2+nUFERERE6gwYCxMnTowbKvbr1y+ceeaZ4eCDD4oGgw4EkfoJmyh26dIlHHHEEeGSSy6J+yPMmTMnzJs3L85SkKpFJ4KIiIiI1Bk2btwY5s6dG5c1dO3aNfTq1atw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wwwEHBfogTdEoCM2esSJojNBajM6EURERERE6jEYrYzE/+AHP4jr//Mc//M//xNH8LcEexsMHjw4vtGBNyHwGsWvfe1r4bvf/W648cYbw7e+9a3w9a9/PYwZMyYup+jRo0c4+qij4p4FGNF5RuY5v7VrSp+DAc+GimeccWbcVBGnwc033xy+8IUvbH5Lwze/+c2oD2ZRsCRjv333jU4RKJVta+GXA92wvIMNLXFWfOMb34j7LvzsZz/70GwNkdqITgQREREREYmGMQ6FPEfLlq1C+/YdCndWwMg6zoAEswn69u0bLrnkkripIksbuJdlDc8991yYNGlSNKKZFfAv//Iv4dprr928cSGGPt8x4HEq8NxySwn4P23CWO485zDWeU6C6zgOO2xQNNwvvvjiGBazEtj3gKUL7733Xgz3zDPPDN/+9rfD2WefHWdUcB/P5Hncw3/FcS4H17Vo0aLwqwI2nDzssMPCxZlueFaxU6JcPERqEw2yzKqbS0RERETqBLyz/4orrojr1Rk5xvCU7YPZAUyfZ4nBtsKsARwEOAbYOJFlCXyyIWEasU/GMOGwn8Do0aPD/Pnz429MEIxxNl/s3bt3PDp37rx5uQBGNU6GCRMmxP+GDBkSlzmk88mEYdkBywF41oABA0K7du02OxWAvQaYZTF58uT4/P322y9uqphYtmxZdBiwlIHlGSwvAJwDvJpy3333jcse+E7YhMsxcuTIOIOB+B9++OEfcXIgf9ILex6glwMPPDCe4zqeETeczMIeP25clJPn80YLXi2ZHBay7SxatCh873vfi/maWTA4inr16lU4K1WBTgQRERERqTPoRKibJOMbw5nZB3xPTgQM5uQcqAmQhRkSLCNITgRmITB7oLIZEFJ70YlQ/bicQUREREREqhUMcRwFjOh37NgxjuCzLwBT/WvSgQDIhrOAJQbIxZFeAakDQeSj6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBARERERERGRXOhEEBEREREREZFc6EQQERERERERkVzoRBAREREREZFdho0bN4ZNmzaFBg0axEOqFp0IIiIiIlJnwCBo0qRJ/NywYUNYv3594YyISIjOgzVr1kRHQuPGjUPTpk0LZ6Sq0IkgIiIiInWGhg0bht133z00b948rFixIixatKhwRkSkYhbC3Llzw+rVq0PLli1Du3btCmekqtCJICIiIiJ1hkaNGoUuXbqEZs2ahQkTJoQRI0YUzohIfWf+ggXhpZdfDgsXLoyzEFq3bh0djlK1NNjEfA8RERERkTrAypUrw8MPPxxuu+22OAthv/32C4cffnjo0aNHaNGiRZypICL1C5Y2LV68OEydOjW8+eabYezYsaFfv37hiiuuCKeddlrhKqkqdCKIiIiISJ2BPRBmzpwZbr/99jD8hRfCwgUL4nTlnj17RicCMxVEpH5BvYATYc6cOXEWwl577RXOO++8cNxxx4W99967cJVUFToRRERERKTO8fbbb4cnn3wyvPzyy2HZsmVxJDLtyC71C9Kd9GezTZxI7sZf/0hpzxKGtm3bhlNOOSXOQOjevXvhCqlKdCKIiIiISJ2DLuzKVavCnNmzw6RJk8KCBQvDypUrojEp9QucSMuXL49LWTp16uRslHpIch6w6SozD/jkPx1K1YNOBBERERGpkzACvW7durgLO9OZnYlQPxk1alR466234nKWs846K+7IL/WLNBOB17+y6Wp6DaxUDzoRRERERESkzvLggw+Ghx56KO6N8Y1vfCO0b9++cEZEqgO3rxURERERkToJSxnYaJPXfbKsZf78+WHt2rWFsyJSHehEEBERERGROgkOhPfeey/uyI8DAWcC+yOISPWhE0FEREREROokkydPDrNnz47f2R9jzJgxYcmSJfG3iFQPOhFERERERKROMnHixPD+++/H7yxjYIPFxYsXx98iUj3oRBARERERkToFr/KcO3dumD59eli1alV8vR9vZWBpA04F9koQkepBJ4KIiIiIiNQpeKUn+x/gSGjVqlXo06dP2HPPPaNDYcqUKXF/BBGpHnQiiIiIiIhInYKlC6NHj45LF7p16xYOO+yw0L9//9C0adO4T8KsWbMKV4pIVaMTQURERERE6hRsojhq1KjoRNhjjz3CwIEDwyGHHBKaNGkS90nQiSBSfehEEBERERGROgNLFtj7gP0QGjRoEJcxHHzwweGAAw4Iu+22W1i0aFGYMWNGmDdvXuEOEalKdCKIiIiIiEidYenSpWHcuHFh+fLloUePHqF79+6hdevWoV27dmH//fcPzZo1i5sr4mQQkapHJ4KIiIiIiNQZlixZEvdDYEkDGyqyJwKwlIF9Edq3bx+XM0yaNCn+LyJVi04EERERERGpE/BWhgULFoR33nknbNy4MfTt2zfuiQA4EVjW0KFDh/jWBjZYZAPGTZs2xfMiUjXoRBARERERkToBSxhmzpwZlyrwJgacCLvvvns8hxOhX79+oUuXLvG6qVOnRmfChg0b4nkRqRp0IoiIiIiISJ1g9uzZcZlCWrrAPghsrgh8cuBYYIlD8bIHEak6Gmxyfo+IiIiIiNQBnn766XD77beHkSNHxmUMbKTIHgjF8IrHNFPhpJNOCl/84hdD27ZtC2dFZEfRiSAiIiIiIrWe1atXhzvuuCPceuutuV7f2KJFi7DvvvuG//7v/45LHho3blw4IyI7gssZRERERESk1rNmzZr42bFjxzgDIR2dOnWK/+Mk4G0N6f+99torNG/ePKxatcp9EUSqEGciiIiIiIhIracys+U3v/lNPHAmsNShc+fOhTMfJu2dICI7hjMRRERERESk1pM2Tiw9Eul76fl0iEjVoBNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHLRYFNG4ftOZcOGDWHevHnhrbfeCjNmzAhLliwJq1evDuvXry9cISIiIlVNo0aNQrNmzUKbNm3CHnvsEQYOGhS6ZZ9NmjQpXCEiUre48cYbw29+85vQuXPncNttt4UuXboUzohIdVAjTgQcCBMnTgwvvPBCeOWVV8LMmTOjE2HNmjXxnIiIiFQPDRs23OxE6Nq1azj88MPDkKFDQ78DD4z/i4jUNXQiiOxcasSJMH/+/HDXXXeFu+++OyxdujR06tQptGrVKo6C0LkRERGR6oFmn1l/K1euDAsXLoz/nXXWWeHyyy8PvXr1ir9FROoSf/3rX+Ox2267hV/84hehY8eOhTMiUh3UiBPh4YcfDvfcc08YM2ZM6NGjR9ZxuSIMGjQwdOvWLbRo0aJwlYiIiFQ169ati878t99+O9xxxx1h3LhxcUYCjoRPfepThatkVyZ1/TZu3Bg/a6ArKFKljB8/Pox/993QvFmzcPzxx4fmzZsXzojUPRo0aLD5s/h7baJGnAg33HBDeOSRR+K0ySuvvDIMGTIktGvXzpkIIiIi1QzNPjMRVqxYEZcWMmo3efLkcNJJJ4X/+q//KlwluzI4knAivfzyyzEPLFq0KO5L5ZJSqauQf1kWjaHVunVr7QmpszRt2jQuN2RwvV+/fuHkk0+Ov2tbnq4RJ8J3v/vd8OSTT4b99tsvfPvb345Katy4ceGsiIiIVDeMQrOk4Vvf+lZ48cUX494IP/rRj+KMQDvguyZ0+XAUMJDz/PPPhwkTJmx2IOBYqoEuoYiIFEH7y0A7zjBmCQ4YMCBceOGFtW65YY04Eb761a+GZ599Nhx11FHh5z//eZyBUNumaIiIiNQHvvOd74SnnnoqHHjggeH73/9+3KeINzjIrgczEHAcsAEdb8diynfv3n1Cx467xe86j0REahbqafYMnDVrVpg2bVpo2bJl+PznPx9OOOGEWrVhaI04Eb70pS+FYcOGhaFDh4Zf/epXhX9FRERkZ/PDH/4wPPHEE2GfffaJsxK6d+/u7MBdlOXLl4dbbrklPPTQQ3HmwRFHHBnOPvvs0KdP79C2bVtf8ykiUsOw1BAHwuuvvx4eeOCBuOTs2GOPDZdcckkYPHhw4aqaR5eziIiISD2AES420mSUq3///uGiiy4MRx55RNzJXgeCiEjNwxsL+/btG0455ZToOGAmAjMSPvjgg8IVtQOdCCIiIiL1APZDmDt3btyAbvfdd/eVniIitRQ2U9x3333jzEBex8xMstqETgQRERGRegArWJmFwIwE9kBg4y4REal98JaGDh06xL1q2ASZDXBrEzoRREREROoBOBFwIPBJx9QNNEVEaifU0enlA+xhU9tewasTQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyoRNBRERERERERHKhE0FEREREREREcqETQURERERERERyUS+dCBs3bgzr168Pa9asiQffN23aVDhbntWrV4dFixbFY+3atVu9XqoO0mfFihVh4cKFYd68eTENFixYEJYsWRLThfQ0PfKBntAnB3qrrSAbabt48eIwd+7cijTP0p9P8kKeMivbR8ojqX7cliOlC8eGDRties3PyippZnqJyJagzli1alVs6+fPn7+5zqcd4H/O1+V6JNWNdaENrg5S33vdunW1Ku6kCTIVt2EisnXqnRMhVeA0SrNnzw7vv/9+NEYrq9BSpT9jxozw0ksvhRdffDE2bjRmO5MkRzrqKkl+9L2luKRz6Hnp0qXh3XffDc8991x49NFHwwsvvBCeefbZ8Oqrr4bp06fHin9rz6svJB0UHwm+o086aHTM6JQVn69pkrykJbKlMvfggw/GNH/2mWfCC1n5GzduXMwTqbGvTXFIFMeltsmYR7Zly5bF+nHWrFm5j5kzZ8b7UrqsXLkyDM/S7cknnwwTJ06M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R9uPVKem5+Rtg+syxTpM9RZ6yBNvrqGOQ1c1WReT1qV9IORCjp0ty86mON8S/+roC/Cs4j5ayiN52rbSe/nkd57+FMY8FLerHHnD3haSHlMeQo+Uf6laak8vWkREREREROo0OA040owD2fXQiSAiIiIiIiJVRnIgMPugNs3+lKrBFBUREREREZEqAacBb2Zin50f/ehH8S0sLH2QXQedCCIiIiIiIlIl4ETgjQ28vpJXMfJGCmcj7FqYmiIiIiIiIlIlpE0Y2RybDQ5Z0iC7FjoRRERERERERCQXOhFEREREREREJBc6EUREREREREQkFzoRRERERERERCQXOhFEREREREREJBc6EUREREREREQkFzoRRERERERERCQXOhFEREREREREJBc6EUREREREREQkFzoRRERERERERCQXOhFEREREREREJBc6EUREREREREQkFzoRRERERERERCQXOhFEREREREREJBc6EUREREREREQkFzoRRERERERERCQXOhFEREREREREJBc6EUREREREREQkFzoRRERERERERCQXOhFEREREREREJBc6EUREREREREQkFzoRRERERERERCQXOhFEREREREREJBc6EURERETqAQ0aNAhNmjSJnxs2bAjr168vnBERkdrExo0bYx29adOm0Lhx49CoUaPCmdqBTgQRERGRekDDhg1Du3btoiNh5cqVYenSpYUzIiJSm1i7dm1YsGBBdCa0atUqtGjRonCmdqATQURERCKMUMuuCyNZe+65Z2jZsmWYM2dOmDRpUli3bl0c6RIRkdoBM8VwIIwZMybW0bvvvnto37594WztoEHWcOz0luP6668Pzz//fBg6dGj4xS9+ETstdlxERER2Pv/1X/8VnnzyybDvvvuG7373u6Fr1661btqkVA0rVqwIDzzwQLjjjjvi9+OOOy588pOfDLvttptpLiJSS1i2bFl4/fXXw5/+9KcwefLkcOaZZ4YLLrggDBgwoHBFzVMjTgQ6KXRYDjjggPD9738/dO7c2cZLRESkBvjnf/7n8Nxzz4XBgweHn//853HtpY79XRNGt+bOnRsdR3RQmzVrFjp27Bi6d+8e2rZtG5c5iIhIzbF8+fJYT3/wwQdhyZIlsU3+j//4j3D88ceHNm3aFK6qeWrEifCrX/0qPPLoo6F51nhdccUV4WMf+1icWici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g4icduC+iHcBiy81bNgwjUJw8Dqn+HPOJQxhRURERESkavREEJHTDlwcWeeAfaQLmT59enz9619Pr//yL/8yhg8fnl7ntG3bNsrKytJIhoiIiNQM9EQQObX4pCwipx08RDRv3jztE114dOzYsfKMSK+LvyeMBgQRERERkaPj07KIiIiIiIiIlIRGBBEREREREREpCY0IIiIiIiIiIlISGhFEREREREREpCQ0IoiIiIiIiIhISWhEEBEREREREZGS0IggIiIiIiIiIiWhEUFERERERERESkIjgoiIiIiIiIiUhEYEERERERERESkJjQgiIiIiIiIiUhIaEURERERERESkJDQiiIiIiIiIiEhJaEQQERERERERkZLQiCAiIiIiIiIiJVHncEblaxGR05qpU6fGrbfeml7ffvvtMW7cuPRaRESODY+Le/fujZ07d8aBAwcqPxWpHtx3333x05/+NOrXrx933HFH9OrVKxo1alT5rYicbDQiiEitodCI8NWvfjVGjhyZXouIyLHBcLBs2bJYv3597Nmzp/JTkerBjBkz4sUXX4wmTZpoRBA5BWhEEJFaQ6ER4dJLL40ePXqk1yIicmx27doVDz/8cGzZsiV5JdSt64xYqX60a9cuvvOd70TPnj2jYcOGlZ+KyMlGI4KI1BqeffbZ+OIXvxj79u2LsrKy5PYoIiLHh8fFHTt2xKFDh6Jjx47pEKlONG7cOM4888z43Oc+F61atYo6depUfiMiJxuNCCJSa1iyZEk8+OCDsXr16jh48GDlpyIiciwwHGzfvj1mzZqVjLBXX311XHPNNZXfilQP6tWrF82aNUtTGRo0aFD5qYi8F2hEEJFaA+64a9asiY0bN6aHYhEROT4YDlauXJnmmmNM+OxnP5tGe0VEpHaiEUFEREREjsru3btjwYIF8Sd/8iexadMmjQgiIrUcV8URERERERERkZLQiCAiIiIiIiIiJaERQURERERERERKQiOCiIiIiIiIiJSERgQRERERERERKQmNCCIiIiIiIiJSEhoRRERERERERKQkNCKIiIiIiIiISEloRBARERERERGRktCIICIiIiIiIiIloRFBREREREREREpCI4KIiIiIiIiIlIRGBBEREREREREpCY0IIiIiIiIiIlISGhFEREREREREpCQ0IoiIiIiIiIhISWhEEBEREREREZGS0IggIiIiIiIiIiWhEUFERERERERESkIjgoiIiIiIiIiUhEYEERERERERESkJjQgiIiIiIiIiUhIaEURERERERESkJDQiiIiIiIiIiEhJaEQQERERERERkZLQiCAiIiIiIiIiJaERQURERERERERKQiOCiIiIiIiIiJSERgQRERERERERKQmNCCIiIiIiIiJSEhoRRERERERERKQkNCKIiIiIiIiISEloRBARERERERGRktCIICIiIiIiIiIloRFBREREREREREpCI4KIiIiIHJM6depUvhIRkdqORgQREREROSr169ePpk2bakgQEZFEncMZla/lNIZmPnDgQMyaNSvmzZsXq1evju3bt8e+ffsqzxCR2kaLFi2iQ4cO0bdv3xg+fHgSCXXraluuSXhvl1PBoUOHYteuXTFjxozUt3r37p0OkZNFgwYNoqysLNq3b59+k0aNGhWNGzeu/FZEqhsaEWoB+Y//U089FS+88EIsWLAgNmzYkD7bv39/5VkiUtvgga1NmzbRo0ePGDFiRFx66aXRtm3b9DAn1R/v7SJyuoC3S5MmTaJ169bpN2ns2LExfvz46NSpU+UZIlKd0IhQC9i5c2d6uPzmN78Zy1esiAZNGkXLdq2jcVnTqFevnu6JIrWMw/zLBOje3Xtj28bNsXPr9mjRrHnceuutMXr06GRIkOpP4b19RXZv5wG8Xbt2yTjkvV1EahJ4VO3Zsye2bNkSGzduTMaE2267LcaMGZO85kSkeqERoRawZMmS+NnPfha//OUvo0HTxnHeuFFxweSLonv/M6Npi+a6L4vUMg4fOhz79u6NtctWxqtPvRAzHnsu1i9fHWeffXZ88YtfjCFDhlSeKdWZwns7U1HGjRsfkydPjv79+6WHbu/tIlJTYBrW8uXL4/nnn48HHngg1q5dG5dddlnccMMNMWzYsMqzRKS64BNGLWDbtm1prizurUMvHhNjrr0k+gw5K5o2b+ZIlUhtJLvsGzZqGGf06h5jr5scF14/Od0f5s6dm+4XUjMovLdffPHFce2118SQIYOjefPm3ttFpEaBB1WfPn1i0qRJyXCAYRRD6bp16yrPEJHqhEaEWsDu3btjzZo1cfDgwejWr1d07tktGjZuFHV1dxWplXDd16lbNxo0bBit27eNjj26Rot2rWP/gQOxefPm5CYv1Z/Ce3u/fv2iZ8+eaSEypzKISE0Dz6lGjRqlhRUHDRqU1uYpLy+PrVu3Vp4hItUJjQi1AEapmGPGIlzNW7eMJs2aVn4jIrWdeixmVdY03Rvq1q0TO3bsSPNSpfpTeG9n/nCzZs0qvxERqZlgSGDXIIwKTHHw90ikeqIRoRbAA+bevXvT63r16yUPBBGRnLr16kbD7MEt6tRJ27exwJVUfwrv7axsjgeCiEhNhvsYhgS8qTCU+nskUj3RiCAiIiIiIiIiJaERQURERERERERKQiOCiIiIiIiIiJSERgQRERERERERKQmNCCIiIiIiIiJSEhoRRERERERERKQkNCKIiIiIiIiISEloRBARERERERGRktCIICIiIiIiIiIloRFBREREREREREpCI4KIiIiIiIiIlIRGBBEREREREREpCY0IIiIiIiIiIlISGhFEREREREREpCQ0IoiIiIiIiIhISWhEEBEREREREZGS0IggIiIiIiIiIiWhEUFERERERERESkIjgoiIiIiIiIiUhEYEERERERERESkJjQgiIiIiIiIiUhIaEURERERERESkJDQiiIiIiIiIiEhJaEQQERERERERkZLQiCAiIiIiIiIiJaERQURERERERERKQiOCiIiIiIiIiJSERgQRERERERERKQmNCCIiIiIiIiJSEhoRpEZz6ODB2LNrV2xeXx6b1m6IzevKY8uGjbGlfFPs3rkrDh44GIcPH648W6oDtAfttm/P3th7jIPv9+/bl7XhgWrZhuSJPG5atyH1vb2799jXpNZAX+fYld1/N27cGGvXro31GzbE+vXrY0P2d/v27bF///7Ks+V4UJcHs/vi3r1709/qci+hDcnTnj17qjx2796djgPZffrQoUOVoY4OZSNO+0ZpUPebNm1K1xfXGvUnIlId0IggNRIesPbv3RdbN26J5W8uihlPPBcvTXk6Zjz+XMx8alq89sy0WDZvYWzeUJ6EHqJVqg+7d+6ONUuXx+rFRz/WLFkR65avSgJ917YdsX/f/pIeUk8Vh7O8YECY8fizqe9tXLPOfia1Au6/iEYMBW+99VY8++xz8fAjj8STTz4Zjz/xREydOjVmz579NuFTXUTx+wFl56AeOIrvY3y3b9++ZIxZvnx5bN68OYns97PO8jyTp2XLlsXixYvfcSxatCi1P6/XrFkT27ZtS6KX8hXnnfeUnfhWrlyZjE3v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IiIiIiIiIlISGhFEREREREREpCQ0IoiIiIiIiIhISWhEEBEREREREZGS0IggIiIiIiIiIiWhEUFERERERERESkIjgoiIiIiIiIiUhEYEERERERERESkJjQgiIiIiIiIiUhIaEURERERERESkJDQiiIiIiIiIiEhJaEQQERERERERkZLQiCAiIiIiIiIiJaERQURERERERERKQiOCiIiIiIiIiJSERgQRERERERERKQmNCCIiIiIiIiJSEhoRRERERERERKQkNCKIiIiIiIiISEloRBARERERERGRktCIICIiIiIiIiIloRFBRKS2czj9l/5Xp06d9JGIiIiISFVoRBARqeUc5t+hg+l13bp1NSSIiMj7wuHDh+PgQX+PRKo7GhFqAQ0aNIjWrVunG/HOrdtjz87dld+IiETs37s/tpVviUOHDkWzZs2iSZMmld9Idabw3r5169bYuXNn5TciIjWTffv2xebNm9PvUfPmzf09EqmmaESoBTRq1Cjatm0b9erVi+ULFseGVWsqvxGR2s6W8k2xZumK2LF1e9SrWzc9tDVu3LjyW6nOFN7bFyxYEKtWrar8RkSkZoIBYebMmcmY0LJlyygrK6v8RkSqE3UO4zckpzU8XN55553x2GOPRcde3WLYxWPirOHnRpNmZenhM/QUE6ldZHd9Rnn27Nody+cvillTp8Wc52ZEr1694itf+UoMHTq08kSpzhTe22m7iy++OIYPH568Sbi36wYsIjWFAwcOxK5du2L+/Pnx0EMPxZw5c2Ls2LHxwQ9+MEaPHl15lohUFzQi1AK2b98es2fPjm984xuxdu3aaFzWNDr2OCO69esVjZs2yR40dUgRqU2wBsL+vfti7bJVsWrR0thWvjnatmsXn/jEJ+LiiROjU6dOlWdKdab43s6IXY8ePaJfv37RtGlTjQgiUmPYsWNHLF++PJYuXRobN25M97DbbrstJma/SXhciUj1QiNCLYARR+bKvvTSS3H33XfHG3Pnxr59e6Ne/fpRpy4PmT5oitQuDgd3/kMHDqarv3v37nHNNdfEVVddFa1atarwUJJqT/G9fW66t++L+tm9nQXJRERqCtzPWFCR3x8M2R/96EeTB0KHDh38TRKphmhEqCVwc2bhLay8ixYtimXLlqX3e/fuTSvhikjtgRFqhGaLFi2ic+fO0bNnz+QO37FjRx/Wahje20XkdIC1eFiTBwMC3lT8LrEmQsOGDSvPEJHqhEaEWsiWLVuivHxjGsHav39f5aciUpvAWIC7aOs2baKVD2qnBd7bRaSmwm4z/CbhDde+ffvKT0WkuqIRQURERERERERKwkmTIiIiIiIiIlISGhFEREREREREpCQ0IoiIiIiIiIhISWhEEBEREREREZGS0IggIiIiIiIiIiWhEUFERERERERESkIjgoiIiIiIiIiUhEYEERERERERESkJjQgiIiIiIiIiUhIaEURERERERESkJDQiiIiIiIiIiEhJaEQQERERERERkRKI+P8Bnyk8vkiTqP4AAAAASUVORK5CYII=)
9.1.5 挂起函数
代码块中的delay(3000L, TimeUnit.MILLISECONDS)函数,是一个用suspend关键字修饰的函数,我们称之为挂起函数。挂起函数只能从协程代码内部调用,普通的非协程的代码不能调用。
挂起函数只允许由协程或者另外一个挂起函数里面调用, 例如我们在协程代码中调用一个挂起函数,代码示例如下:
suspend fun runCoroutineDemo() {
run(CommonPool) {
delay(3000L, TimeUnit.MILLISECONDS)
println("suspend,")
}
println("runCoroutineDemo!")
Thread.sleep(5000L)
}
fun callSuspendFun() {
launch(CommonPool) {
runCoroutineDemo()
}
}
如果我们用Java中的Thread类来写类似功能的代码,上面的代码可以写成这样:
fun threadDemo0() {
Thread({
Thread.sleep(3000L)
println("Hello,")
}).start()
println("World!")
Thread.sleep(5000L)
}
输出结果也是:
World!
Hello,
另外, 我们不能使用Thread来启动协程代码。例如下面的写法编译器会报错:
/**
* 错误反例:用线程调用协程 error
*/
fun threadCoroutineDemo() {
Thread({
delay(3000L, TimeUnit.MILLISECONDS) // error, Suspend functions are only allowed to be called from a coroutine or another suspend function
println("Hello,")
})
println("World!")
Thread.sleep(5000L)
}