我正在编写一个程序来执行一些长时间的计算,我可以根据需要将其分成任意多个任务。为了便于讨论,让我们假设我正在编写一个算法,通过尝试将它除以2到p-1之间的所有数字来确定数字p是否为素数。这个任务显然可以分解成很多线程。我实际上编写了一个示例应用程序来执行此操作。作为参数,我给出了我要检查的数字,以及要使用的线程数(每个线程都被赋予了一个相等大小的数字范围,以尝试将p除以-它们一起覆盖了整个范围)。我的机器有8个核心。我开始使用我知道是质数(2971215073)的大量程序运行该程序,并使用1、2、3个线程等,直到达到8个线程——每次程序运行速度都比前一个快,这正是我所期望的。然而,当我