我正在创建一个创建很多任务的程序。通常任务的数量是 10,000 到 50,000。该程序使用的锁数量非常少,大约为 800,000 分之一,因此线程很可能不会相互阻塞。但是,我的 cpu 使用率仍然只有 70%。我对此有两个问题。
- 50k 是不是过多的任务?
- 在这种情况下,我的 CPU 使用率应该是 100%,还是 70% 正常?如果不是,我将不得不再次检查我的锁定。
我正在创建一个创建很多任务的程序。通常任务的数量是 10,000 到 50,000。该程序使用的锁数量非常少,大约为 800,000 分之一,因此线程很可能不会相互阻塞。但是,我的 cpu 使用率仍然只有 70%。我对此有两个问题。
- 50k 是不是过多的任务?
- 在这种情况下,我的 CPU 使用率应该是 100%,还是 70% 正常?如果不是,我将不得不再次检查我的锁定。
任务信息
这些任务用于呼吸优先搜索算法。一个任务计算特定于该任务的节点的哈希值。然后它使用这个散列在散列表中查找节点。哈希非常快。查找通常也很快。