作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我的应用程序运行 2 个线程(例如渲染线程和游戏更新线程)。如果它在具有多核 CPU(如今很典型)的移动设备上运行,我是否可以期望线程在可能的情况下自动分配给不同的内核?
我知道底层操作系统内核(Android linux 内核)决定调度。我的问题是我是否需要做任何额外的来启用多核使用,还是它是自动和透明的?
最佳答案
你需要做的是尽可能让两个线程独立运行。如果您有两个始终相互等待的线程,它们可能会在同一个内核上运行以节省电量。 (因为使用内核似乎没有任何好处)
the case is the following: first thread decodes a bitmap, while renderer uploads the texture of the previous bitmap to GPU. The first thread goes to sleep if nothing to do; then wakes up if a bitmap needs to be decoded again.
我怀疑这是一个很好的例子,两个线程不会有帮助,因为解码位图应该比“上传”更快这意味着你有两种情况
T1: decoding bit map,
T2: waiting for a bit map.
或
T1: sleeping
T2: uploading a bit map.
或
T1: sleeping
T2: waiting for a bitmap.
你能看出没有两个线程都需要运行的情况吗(或者可能很少)这可能不会比这样做更快,甚至更慢
T1: decodes bitmap.
uploads bitmap.
waiting for a bitmap.
关于java - 自动利用多个 CPU 内核的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17259610/
我是一名优秀的程序员,十分优秀!