gpt4 book ai didi

java - 自动利用多个 CPU 内核的线程?

转载 作者:行者123 更新时间:2023-11-29 05:41:47 26 4
gpt4 key购买 nike

假设我的应用程序运行 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com