提问者:小点点

Kotlin中的withContext(Dispatchers.io)和with(Dispatchers.io)有什么区别?


我是coroutines的新手,正在尝试在不同的线程中运行一些代码,我遇到了两个听起来类似的方法withcontextwith(Dispatcher)。 这两者有什么区别? 我假设它们都在不同的线程中运行代码块中传递的代码,但我不确定。

请详细说明


共1个答案

匿名用户

with()只是一个作用域函数,与协同函数无关。 它不会影响代码运行的线程。

withContext()是一种切换协同上下文的方法,包括切换到不同的分派程序。 因此,如果您的目标是“在另一个线程上运行这个”,您需要withContext(),而不是with()