Вы можете получить MAC-адрес или физический адрес с помощью этого кода
$d = explode('Physical Address. . . . . . . . .',shell_exec ("ipconfig/all"));
$d1 = explode(':',$d[1]);
$d2 = explode(' ',$d1[1]);
return $d2[1];
Я использовал много раз, потому что shell_exec («ipconfig / all») возвращает полную информацию о всей сети. поэтому вам нужно разделить по одному. при запуске этого кода вы получите свой MAC-адрес 00 - ## - ## - CV-12 // это поддельный адрес только для показа.
Это по замыслу. По умолчанию TaskScheduler
используется .NET ThreadPool
, который может быть насыщенным, и вы имеете ограниченный контроль над ним.
Если вы хотите, вы можете создать свой собственный TaskScheduler
, чтобы изменить это поведение. Например, при желании вы можете создать тот, который запускает отдельный поток.
Такое поведение стало бы еще более явным, если бы ваш код выполнял еще больше задач, чем он уже делает:
private void DoParallel()
{
//This will over-saturate the ThreadPool unless you use your own TaskScheduler
for (int i = 0; i < 100; i++)
{
Task.Factory.StartNew(() =>
{
Console.WriteLine(DateTime.Now.ToString());
DoSomeWork();
});
}
}
}