Как определить количество ядер процессора на ПК? - PullRequest
3 голосов
/ 30 августа 2010

Как определить количество ядер процессора ПК с помощью кода?Есть ли способ сделать это в SAS.Я хочу определить количество ядер, а затем указать, сколько потоков мне нужно запустить.

Ответы [ 3 ]

4 голосов
/ 30 августа 2010

в SAS:

%put &sysncpu;

В Java можно сделать:

Runtime runtime = Runtime.getRuntime();
int nrOfProcessors = runtime.availableProcessors();

В C #:

System.Environment.ProcessorCount

Но это всего лишь переменные среды, которые устанавливаются операционной системой и, вероятно, могут быть изменены с помощью программирования. Я не знаю, сможете ли вы получить реальную информацию об оборудовании.

3 голосов
/ 30 августа 2010

Существует автоматическая макропеременная под названием SYSNCPU, которая дает вам количество процессоров;Вы не уверены, что эта фигура вам нужна?

1 голос
/ 18 марта 2014

Delphi

function TSpinLockPerProcReaderWriterLock.NumberProcessors: Integer;
var
    systemInfo: SYSTEM_INFO;
begin
    GetSystemInfo({var}systemInfo);
    Result := systemInfo.dwNumberOfProcessors;
end;   

Транскодировано в псевдо-язык в стиле C #:

int NumberProcessors()
{
   SYSTEM_INFO systemInfo;

   GetSystemInfo(ref systemInfo);
   return systemInfo.dwNumberOfProcessors;
}

Примечание : любой код, опубликованный в открытом доступе. Указание авторства не требуется.

...