Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Process.BasePriority (Propiedad)

Obtiene la prioridad base del proceso asociado.

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

public int BasePriority { get; }

Valor de propiedad

Tipo: System.Int32
Prioridad base, que se calcula a partir de PriorityClass del proceso asociado.

ExcepciónCondición
PlatformNotSupportedException

La plataforma es Windows 98 o Windows Millennium (Windows Me); establezca el valor de la propiedad ProcessStartInfo.UseShellExecute en false para obtener 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 un identificador del proceso.

La propiedad BasePriority del proceso es la prioridad inicial para los subprocesos creados dentro del proceso asociado. Es posible ver información sobre la prioridad base a través del contador Prioridad base del Monitor de sistema.

En función del tiempo transcurrido o de otro tipo de estímulo, el sistema operativo puede cambiar la prioridad base cuando un proceso necesita situarse por delante de otros.

La propiedad BasePriority permite ver la prioridad inicial asignada a un proceso. No obstante, la propiedad BasePriority, por ser de sólo lectura, no se puede utilizar para establecer la prioridad del proceso. Para cambiar la prioridad, utilice la propiedad PriorityClass. La propiedad BasePriority se puede ver utilizando el Monitor del sistema, pero no ocurre lo mismo con la propiedad PriorityClass. Tanto la propiedad BasePriority como la propiedad PriorityClass se pueden ver mediante programación. En la siguiente tabla se muestra la relación que existe entre los valores de BasePriority y los de PriorityClass.

BasePriority

PriorityClass

4

Idle

8

Normal

13

High

24

RealTime

Nota de la plataforma : Esta propiedad no se encuentra disponible en esta plataforma si el proceso se ha iniciado con la propiedad ProcessStartInfo.UseShellExecute establecida en true.

En el siguiente ejemplo se inicia una instancia del Bloc de notas. A continuación, se recuperan y se muestran diversas propiedades del proceso asociado. También se detecta cuándo termina el proceso y se muestra el código de salida del proceso.


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

    }
}


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

  • LinkDemand 

    para plena confianza del llamador inmediato. Este miembro no puede ser utilizado por código de confianza parcial.

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft