Process.PriorityClassとは? わかりやすく解説

Process.PriorityClass プロパティ

関連付けられたプロセス全体的な優先順位カテゴリ取得または設定します

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Public Property PriorityClass As
 ProcessPriorityClass
Dim instance As Process
Dim value As ProcessPriorityClass

value = instance.PriorityClass

instance.PriorityClass = value
public ProcessPriorityClass PriorityClass { get;
 set; }
public:
property ProcessPriorityClass PriorityClass {
    ProcessPriorityClass get ();
    void set (ProcessPriorityClass value);
}
/** @property */
public ProcessPriorityClass get_PriorityClass ()

/** @property */
public void set_PriorityClass (ProcessPriorityClass
 value)
public function get PriorityClass
 () : ProcessPriorityClass

public function set PriorityClass
 (value : ProcessPriorityClass)

プロパティ
プロセスの BasePriority を計算するときに使用する関連付けられたプロセス優先順位カテゴリ

例外例外
例外種類条件

Win32Exception

プロセス優先順位情報設定できませんでした。または、関連付けられたプロセスリソースから取得できませんでした

または

プロセス ID またはプロセス ハンドルゼロです。(プロセスはまだ開始していません。)

SystemException

リモート コンピュータ実行されているプロセスPriorityClass プロパティアクセスようとしてます。このプロパティは、ローカル コンピュータ実行されているプロセスに対してだけ使用できます

または

プロセス Id利用できませんでした

PlatformNotSupportedException

Windows 98 または Windows Millennium Edition (Windows Me) を使用する場合に、PriorityClassAboveNormal または BelowNormal設定しました。これらのプラットフォームは、優先順位クラス対するこれらの値をサポートしていません。

解説解説

プロセス優先順位クラスは、一定範囲スレッド優先順位影響しますプロセス実行される優先順位異なスレッドは、そのプロセス優先順位クラスに対して相対的に実行されます。Win324 つ優先順位クラスと、クラスごとに 7 つ基本優先順位使用します。これらのプロセス優先順位クラスは、ProcessPriorityClass 列挙体にキャプチャされています。これを使用してプロセス優先順位IdleNormalHigh、AboveNormal、BelowNormal、またはRealTime設定できます経過時間またはその他の要因に基づきプロセスを他のプロセスよりも先にプロセッサアクセスさせる必要がある判断され場合オペレーティング システム基本優先順位変更することがありますまた、待機状態から抜けたときに一時的にスレッド優先順位上げるように、PriorityBoostEnabled を設定できますプロセス待機状態に戻ると、優先順位リセットされます。

BasePriority プロパティによって、プロセス割り当てられ初期優先順位表示できます。ただし、読み取り専用であるため、BasePriority プロパティ使用してプロセス優先順位設定できません。優先順位変更するには、プロセス全体的な優先順位カテゴリ取得または設定する PriorityClass プロパティ使用します

システム モニタ使用して優先順位クラス表示することはできません。BasePriority 値と PriorityClass 値の関係を次の表に示します

BasePriority

PriorityClass

4

Idle

8

Normal

13

High

24

RealTime

Windows 98, Windows Millennium Edition プラットフォームメモ : 優先順位クラスAboveNormal または BelowNormal設定すると、例外スローさます。

使用例使用例

メモ帳インスタンス起動する例を次に示します。この例では、インスタンス起動後、関連付けられているプロセスさまざまなプロパティ取得および表示されます。その後プロセス終了検知しプロセス終了コード表示します

Imports System
Imports System.Diagnostics

Namespace ProcessSample
   Class ProcessMonitorSample

      Public Shared Sub
 Main()

         ' Define variables to track the peak
         ' memory usage of the process.
         Dim peakPagedMem As Long
 = 0
         Dim peakWorkingSet As Long
 = 0
         Dim peakVirtualMem As Long
 = 0

         Dim myProcess As Process = Nothing

         Try

            ' Start the process.
            myProcess = Process.Start("NotePad.exe")

            ' Display process statistics until
            ' the user closes the program.
            Do

                If Not myProcess.HasExited
 Then

                    ' Refresh the current process property values.
                    myProcess.Refresh()

                    Console.WriteLine()
                        
                    ' Display current process statistics.

                    Console.WriteLine("{0} -", myProcess.ToString())
                    Console.WriteLine("-------------------------------------")

                    Console.WriteLine("  physical memory usage:
 {0}", _
                         myProcess.WorkingSet64)
                    Console.WriteLine("  base priority: {0}",
 _
                         myProcess.BasePriority)
                    Console.WriteLine("  priority class: {0}",
 _
                         myProcess.PriorityClass)
                    Console.WriteLine("  user processor time:
 {0}", _
                         myProcess.UserProcessorTime)
                    Console.WriteLine("  privileged processor
 time: {0}", _
                         myProcess.PrivilegedProcessorTime)
                    Console.WriteLine("  total processor time:
 {0}", _
                         myProcess.TotalProcessorTime)

                    ' Update the values for the overall peak memory
 statistics.
                    peakPagedMem = myProcess.PeakPagedMemorySize64
                    peakVirtualMem = myProcess.PeakVirtualMemorySize64
                    peakWorkingSet = myProcess.PeakWorkingSet64

                    If myProcess.Responding Then
                        Console.WriteLine("Status = Running")
                    Else
                        Console.WriteLine("Status = Not Responding")
                    End If
                End If
            Loop While Not
 myProcess.WaitForExit(1000)

            Console.WriteLine()
            Console.WriteLine("Process exit code: {0}",
 myProcess.ExitCode)

            ' Display peak memory statistics for the process.
            Console.WriteLine("Peak physical memory usage of the
 process: {0}", _
                peakWorkingSet)
            Console.WriteLine("Peak paged memory usage of the
 process: {0}", _
                peakPagedMem)
            Console.WriteLine("Peak virtual memory usage of the
 process: {0}", _
                peakVirtualMem)

         Finally
            If Not myProcess Is
 Nothing Then
                myProcess.Close
            End If
         End Try
      End Sub 'Main
   End Class 
End Namespace 
using System;
using System.Diagnostics;

namespace ProcessSample
{
    class ProcessMonitorSample
    {
        public static void
 Main()
        {

            // Define variables to track the peak
            // memory usage of the process.
            long peakPagedMem = 0, 
                peakWorkingSet = 0, 
                peakVirtualMem = 0;

            Process myProcess = null;

            try 
            {
                // Start the process.
                myProcess = Process.Start("NotePad.exe");
    
                // Display the process statistics until
                // the user closes the program.
                do 
                {
                    if (!myProcess.HasExited)
                    {
                        // Refresh the current process property values.
                        myProcess.Refresh();

                        Console.WriteLine();
                        
                        // Display current process statistics.

                        Console.WriteLine("{0} -", myProcess.ToString());
                        Console.WriteLine("-------------------------------------");

                        Console.WriteLine("  physical memory usage: {0}"
,
                            myProcess.WorkingSet64);
                        Console.WriteLine("  base priority:
 {0}",
                            myProcess.BasePriority);
                        Console.WriteLine("  priority class:
 {0}",
                            myProcess.PriorityClass);
                        Console.WriteLine("  user processor time: {0}"
,
                            myProcess.UserProcessorTime);
                        Console.WriteLine("  privileged processor time: {0}"
,
                            myProcess.PrivilegedProcessorTime);
                        Console.WriteLine("  total processor time: {0}"
,
                            myProcess.TotalProcessorTime);

                        // Update the values for the overall peak memory
 statistics.
                        peakPagedMem = myProcess.PeakPagedMemorySize64;
                        peakVirtualMem = myProcess.PeakVirtualMemorySize64;
                        peakWorkingSet = myProcess.PeakWorkingSet64;

                        if (myProcess.Responding)
                        {
                            Console.WriteLine("Status = Running");
                        }
                        else
                        {
                            Console.WriteLine("Status = Not Responding");
                        }
                    }
                }
                while (!myProcess.WaitForExit(1000));


                Console.WriteLine();
                Console.WriteLine("Process exit code: {0}", 
                    myProcess.ExitCode);
            
                // Display peak memory statistics for the process.
                Console.WriteLine("Peak physical memory usage of the process:
 {0}",
                    peakWorkingSet);
                Console.WriteLine("Peak paged memory usage of the process: {0}"
,
                    peakPagedMem);
                Console.WriteLine("Peak virtual memory usage of the process:
 {0}",
                    peakVirtualMem);

            } 
            finally
            {
                if (myProcess != null)
                {
                    myProcess.Close();
                }
            }
        }

    }
}
#using <system.dll>

using namespace System;
using namespace System::Diagnostics;
int main()
{
   
   // Define variables to track the peak
   // memory usage of the process.
   _int64 peakPagedMem = 0,peakWorkingSet = 0,peakVirtualMem = 0;
   Process^ myProcess = nullptr;
   try
   {
      
      // Start the process.
      myProcess = Process::Start( "NotePad.exe" );
      
      // Display the process statistics until
      // the user closes the program.
      do
      {
         if (  !myProcess->HasExited )
         {
            
            // Refresh the current process property values.
            myProcess->Refresh();
            Console::WriteLine();
            
            // Display current process statistics.
            Console::WriteLine( "{0} -", myProcess );
            Console::WriteLine( "-------------------------------------"
 );
            Console::WriteLine( "  physical memory usage: {0}", myProcess->WorkingSet64
 );
            Console::WriteLine( "  base priority: {0}",
 myProcess->BasePriority );
            Console::WriteLine( "  priority class: {0}",
 myProcess->PriorityClass );
            Console::WriteLine( "  user processor time: {0}", myProcess->UserProcessorTime
 );
            Console::WriteLine( "  privileged processor time: {0}", myProcess->PrivilegedProcessorTime
 );
            Console::WriteLine( "  total processor time: {0}", myProcess->TotalProcessorTime
 );
            
            // Update the values for the overall peak memory statistics.
            peakPagedMem = myProcess->PeakPagedMemorySize64;
            peakVirtualMem = myProcess->PeakVirtualMemorySize64;
            peakWorkingSet = myProcess->PeakWorkingSet64;
            if ( myProcess->Responding )
            {
               Console::WriteLine( "Status = Running" );
            }
            else
            {
               Console::WriteLine( "Status = Not Responding" );
            }
         }
      }
      while (  !myProcess->WaitForExit( 1000 ) );
      Console::WriteLine();
      Console::WriteLine( "Process exit code: {0}", myProcess->ExitCode
 );
      
      // Display peak memory statistics for the process.
      Console::WriteLine( "Peak physical memory usage of the process: {0}",
 peakWorkingSet );
      Console::WriteLine( "Peak paged memory usage of the process: {0}",
 peakPagedMem );
      Console::WriteLine( "Peak virtual memory usage of the process: {0}",
 peakVirtualMem );
   }
   finally
   {
      if ( myProcess != nullptr )
      {
         myProcess->Close();
      }
   }

}

.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

ProcessPriorityClass 列挙体

システムプロセス関連付ける優先順位示します。この値は、プロセスの各スレッド優先順位値と組み合わされ、各スレッド基本優先順位決定します

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Public Enumeration ProcessPriorityClass
Dim instance As ProcessPriorityClass
public enum ProcessPriorityClass
public enum class ProcessPriorityClass
public enum ProcessPriorityClass
public enum ProcessPriorityClass
メンバメンバ
解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からProcess.PriorityClassを検索した結果を表示しています。
Weblioに収録されているすべての辞書からProcess.PriorityClassを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からProcess.PriorityClass を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Process.PriorityClass」の関連用語

Process.PriorityClassのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Process.PriorityClassのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS