Yashied
Может даже вот так попробовать:
В теории: если одно или два ядра окажутся загруженными сторонними процессами, то их функцию возьмут на себя менее загруженные ядра CPU.
На практике: подозреваю что так код будет работать медленнее если вообще будет. Потому как я не знаю что будет если два потока одновременно обратятся к одной переменной... :laugh: (код запускать не пробовал) )) Для верности здесь нужно что-то подобное как @error в AutoIt.
Может даже вот так попробовать:
Код:
Procedure Core1(*Param.Arr)
For i = 0 To 999
If *Param\Value[i] = #False
*Param\Value[i] = *Param\Value[i] / 2
EndIf
Next
EndProcedure
Procedure Core2(*Param.Arr)
For i = 1 To 999
If *Param\Value[i] = #False
*Param\Value[i] = *Param\Value[i] / 2
EndIf
Next
EndProcedure
Procedure Core3(*Param.Arr)
For i = 2 To 999
If *Param\Value[i] = #False
*Param\Value[i] = *Param\Value[i] / 2
EndIf
Next
EndProcedure
Procedure Core4(*Param.Arr)
For i = 3 To 999
If *Param\Value[i] = #False
*Param\Value[i] = *Param\Value[i] / 2
EndIf
Next
EndProcedure
На практике: подозреваю что так код будет работать медленнее если вообще будет. Потому как я не знаю что будет если два потока одновременно обратятся к одной переменной... :laugh: (код запускать не пробовал) )) Для верности здесь нужно что-то подобное как @error в AutoIt.