Я хочу дублировать складывание (используйте дополнительные циклы процессора)

StackOverflow https://stackoverflow.com/questions/2162808

  •  23-09-2019
  •  | 
  •  

Вопрос

Я хочу использовать циклы дополнительных CPU, чтобы сделать часть моей собственной обработки, и мне было интересно, сможет ли кто-нибудь указать мне правильное направление относительно того, как начать с этого?

Это было полезно?

Решение

Я бы предложил написать программу, которая работает непрерывно (убедитесь, что она иногда блокирует), а затем просто установить ее на низкий приоритет. Планировщик ОС (Windows/*NIX) должен автоматически обрабатывать остальные.

Другие советы

Вы можете использовать дополнительные циклы процессора, написав программу, которая работает в фоновом режиме.

Вы можете проверить использование процессора, чтобы узнать, когда компьютер простаивает (но это не обязательно хорошая идея), или вы можете прослушать деятельность мыши/клавиатуры.

Чтобы проверить использование процессора в C#, используйте следующий код:

float cpuUsage;    //Between 0 and 100
using (var cpu = new PerformanceCounter("Processor", "% Processor Time", "_Total")) {
    cpu.NextValue();    //First call gives wrong values
    cpuUsage = cpu.NextValue();
}

Чтобы проверить активность клавиатуры или мыши, вам нужно использовать клавиатуру / крюк для мыши; видеть здесь для инструкций.

Чтобы инициализировать FlainWorker, вы должны включить отчеты о прогрессе и подключить обработчики вашего события:

// Enable progress reporting
backgroundWorker1.WorkerReportsProgress = true;

// Hook up event handlers
backgroundWorker1.DoWork += backgroundWorker1_DoWork;
backgroundWorker1.RunWorkerCompleted += backgroundWorker1_RunWorkerCompleted;
backgroundWorker1.ProgressChanged += backgroundWorker1_ProgressChanged;
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top