我是coroutines的新手,正在尝试在不同的线程中运行一些代码,我遇到了两个听起来类似的方法withcontext
和with(Dispatcher)
。 这两者有什么区别? 我假设它们都在不同的线程中运行代码块中传递的代码,但我不确定。
请详细说明
with()
只是一个作用域函数,与协同函数无关。 它不会影响代码运行的线程。
withContext()
是一种切换协同上下文的方法,包括切换到不同的分派程序。 因此,如果您的目标是“在另一个线程上运行这个”,您需要withContext()
,而不是with()
。