Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad Process.BasePriority

 

Publicado: octubre de 2016

Obtiene la prioridad base del proceso asociado.

Espacio de nombres:   System.Diagnostics
Ensamblado:  System (en System.dll)

public int BasePriority { get; }

Valor de propiedad

Type: System.Int32

Prioridad base, que se calcula a partir de PriorityClass del proceso asociado.

Exception Condition
PlatformNotSupportedException

La plataforma es Windows 98 o Windows Millennium Edition (Windows Me); establezca la propiedad ProcessStartInfo.UseShellExecute en false para tener acceso a esta propiedad en Windows 98 y Windows Me.

InvalidOperationException

El proceso ha terminado.

O bien

El proceso no se ha iniciado, por lo que no hay ningún identificador de proceso.

The P:System.Diagnostics.Process.BasePriority of the process is the starting priority for threads created within the associated process. You can view information about the base priority through the System Monitor's Priority Base counter.

Based on the time elapsed or other boosts, the operating system can change the base priority when a process should be placed ahead of others.

The P:System.Diagnostics.Process.BasePriority property lets you view the starting priority assigned to a process. However, because it is read-only, you cannot use the P:System.Diagnostics.Process.BasePriority to set the priority of the process. To change the priority, use the P:System.Diagnostics.Process.PriorityClass property. The P:System.Diagnostics.Process.BasePriority is viewable using the System Monitor, while the P:System.Diagnostics.Process.PriorityClass is not. Both the P:System.Diagnostics.Process.BasePriority and the P:System.Diagnostics.Process.PriorityClass can be viewed programmatically. The following table shows the relationship between P:System.Diagnostics.Process.BasePriority values and P:System.Diagnostics.Process.PriorityClass values.

BasePriority

PriorityClass

4

Idle

8

Normal

13

High

24

RealTime

Win98WinMe

This property is not available on this platform if you started the process with P:System.Diagnostics.ProcessStartInfo.UseShellExecute set to true.

The following example starts an instance of Notepad. The example then retrieves and displays various properties of the associated process. The example detects when the process exits, and displays the process's exit code.

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);
                        Console.WriteLine("  PagedSystemMemorySize64: {0}",
                            myProcess.PagedSystemMemorySize64);
                        Console.WriteLine("  PagedMemorySize64: {0}",
                           myProcess.PagedMemorySize64);

                        // 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();
                }
            }
        }

    }
}

LinkDemand

for full trust for the immediate caller. This member cannot be used by partially trusted code.

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: