Windows Equivalent 'хороших'

Это довольно специфично для .NET, но в Руководстве по разработке дизайна Framework утверждается, что в целом классы дают большую гибкость в эволюционирующей структуре. После отправки интерфейса вы не сможете изменить его, не нарушая код, который использовал этот интерфейс. Однако с классом вы можете изменить его, а не нарушать код, который ссылается на него. Если вы внесете правильные изменения, которые включают в себя добавление новых функций, вы сможете расширить и развить свой код.

Krzysztof Cwalina говорит на стр. 81:

Over в курсе трех версий .NET Framework, я говорил об этом руководстве с несколькими разработчиками в нашей команде. Многие из них, в том числе те, кто первоначально не соглашался с рекомендациями, заявили, что сожалеют о том, что отправили API в качестве интерфейса. Я даже не слышал ни одного случая, когда кто-то сожалел о том, что отправил класс.

. Говорят, что для интерфейсов, безусловно, есть место. В качестве общего руководства всегда предоставляется абстрактная реализация базового класса интерфейса, если ничто иное как пример способа реализации интерфейса. В лучшем случае базовый класс сохранит много работы.

68
задан Max Galkin 26 June 2009 в 13:20
поделиться

5 ответов

Если Вы хотите установить приоритет при запуске процесса, Вы могли бы использовать встроенную команду запуска:

START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B] [command/program] [parameters]

Использование минимум через belownormal опции установить приоритет запущенной команды/программы. Походит на самое простое решение. Никакие загрузки или запись сценария. Другие решения, вероятно, уже продолжают работать работая procs все же.

61
ответ дан undrline 24 November 2019 в 14:21
поделиться

PrcView, кажется, отделывается от командной строки также:

http://www.teamcti.com/pview/prcview.htm

(Проверяют - параметр ph)

1
ответ дан Michael Stum 8 October 2019 в 02:31
поделиться

Возможно, Вы хотите рассмотреть использование ProcessTamer, которые "автоматизируют" процесс понижения или обновления приоритета процесса, базирующегося в Ваших настройках.

я использовал его в течение двух лет. Это очень просто, но действительно эффективно!

5
ответ дан ggasp 24 November 2019 в 14:21
поделиться

При использовании PowerShell Вы могли бы записать сценарий, которые позволяют Вам изменить приоритет процесса. Я нашел следующую функцию PowerShell на блоге Монады:

function set-ProcessPriority { 
    param($processName = $(throw "Enter process name"), $priority = "Normal")

    get-process -processname $processname | foreach { $_.PriorityClass = $priority }
    write-host "`"$($processName)`"'s priority is set to `"$($priority)`""
}

От подсказки PowerShell Вы сделали бы что-то строка:

set-ProcessPriority SomeProcessName "High"
7
ответ дан user247702 24 November 2019 в 14:21
поделиться

из http://techtasks.com/code/viewbookcode/567

# This code sets the priority of a process

# ---------------------------------------------------------------
# Adapted from VBScript code contained in the book:
#      "Windows Server Cookbook" by Robbie Allen
# ISBN: 0-596-00633-0
# ---------------------------------------------------------------

use Win32::OLE;
$Win32::OLE::Warn = 3;

use constant NORMAL => 32;
use constant IDLE => 64;
use constant HIGH_PRIORITY => 128;
use constant REALTIME => 256;
use constant BELOW_NORMAL => 16384;
use constant ABOVE_NORMAL => 32768;

# ------ SCRIPT CONFIGURATION ------
$strComputer = '.';
$intPID = 2880; # set this to the PID of the target process
$intPriority = ABOVE_NORMAL; # Set this to one of the constants above
# ------ END CONFIGURATION ---------

print "Process PID: $intPID\n";

$objWMIProcess = Win32::OLE->GetObject('winmgmts:\\\\' . $strComputer . '\\root\\cimv2:Win32_Process.Handle=\'' . $intPID . '\'');

print 'Process name: ' . $objWMIProcess->Name, "\n";

$intRC = $objWMIProcess->SetPriority($intPriority);

if ($intRC == 0) {
    print "Successfully set priority.\n";
}
else {
    print 'Could not set priority. Error code: ' . $intRC, "\n";
}
3
ответ дан Ryan Fox 24 November 2019 в 14:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: