首页 > 解决方案 > Android中线程之间的资源竞争

问题描述

来自 Android 文档

在 run() 方法的开头,通过使用 THREAD_PRIORITY_BACKGROUND 调用 Process.setThreadPriority() 将线程设置为使用后台优先级。这种方法减少了 Runnable 对象的线程和 UI 线程之间的资源竞争。

这意味着什么 -Runnable对象的线程和 UI 线程之间的资源竞争?它与CPU使用率有关吗?

标签: androidmultithreading

解决方案


简短的回答是:如果您不知道这意味着什么,请不要担心。设置线程优先级通常无关紧要。

如果您正在启动长时间运行的资源密集型线程,同时期望有一个快速的用户界面,那么这可能是适用的。我要指出,虽然这通常不是移动设备所做的事情。

该标志为框架提供了一个线索,它应该在访问资源方面取消该线程的优先级。换句话说,该线程可能需要更长的时间才能完成其工作。我说可能,因为如果系统不受资源限制,那么它不会有任何区别。


推荐阅读