ProcessThread.IdealProcessor Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengatur prosesor pilihan untuk menjalankan utas ini.
public:
property int IdealProcessor { void set(int value); };
public int IdealProcessor { set; }
[System.ComponentModel.Browsable(false)]
public int IdealProcessor { set; }
member this.IdealProcessor : int
[<System.ComponentModel.Browsable(false)>]
member this.IdealProcessor : int
Public Property IdealProcessor As Integer
Nilai Properti
Prosesor yang disukai untuk utas, digunakan ketika sistem menjadwalkan utas, untuk menentukan prosesor mana yang akan menjalankan utas.
- Atribut
Pengecualian
Sistem tidak dapat menyetel utas untuk memulai pada prosesor yang ditentukan.
Prosesnya ada di komputer jarak jauh.
Contoh
Contoh berikut menunjukkan cara mengatur IdealProcessor properti untuk instans Notepad ke prosesor pertama.
using System;
using System.Diagnostics;
namespace ProcessThreadIdealProcessor
{
class Program
{
static void Main(string[] args)
{
// Make sure there is an instance of notepad running.
Process[] notepads = Process.GetProcessesByName("notepad");
if (notepads.Length == 0)
Process.Start("notepad");
ProcessThreadCollection threads;
//Process[] notepads;
// Retrieve the Notepad processes.
notepads = Process.GetProcessesByName("Notepad");
// Get the ProcessThread collection for the first instance
threads = notepads[0].Threads;
// Set the properties on the first ProcessThread in the collection
threads[0].IdealProcessor = 0;
threads[0].ProcessorAffinity = (IntPtr)1;
}
}
}
Imports System.Diagnostics
Class Program
Shared Sub Main(ByVal args() As String)
' Make sure there is an instance of notepad running.
Dim notepads As Process() = Process.GetProcessesByName("notepad")
If notepads.Length = 0 Then
Process.Start("notepad")
End If
Dim threads As ProcessThreadCollection
'Process[] notepads;
' Retrieve the Notepad processes.
notepads = Process.GetProcessesByName("Notepad")
' Get the ProcessThread collection for the first instance
threads = notepads(0).Threads
' Set the properties on the first ProcessThread in the collection
threads(0).IdealProcessor = 0
threads(0).ProcessorAffinity = CType(1, IntPtr)
End Sub
End Class
Keterangan
Nilainya IdealProcessor berbasis nol. Dengan kata lain, untuk mengatur afinitas utas untuk prosesor pertama, atur properti ke nol.
Sistem menjadwalkan utas pada prosesor pilihan mereka jika memungkinkan.
Utas proses dapat bermigrasi dari prosesor ke prosesor, dengan setiap migrasi memuat ulang cache prosesor. Menentukan prosesor untuk utas dapat meningkatkan performa di bawah beban sistem berat dengan mengurangi berapa kali cache prosesor dimuat ulang.