ThreadStateException Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
yöntemi çağrısı için geçersiz Thread olduğunda oluşan ThreadState özel durum.
public ref class ThreadStateException : SystemException
[System.Serializable]
public class ThreadStateException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ThreadStateException : SystemException
public class ThreadStateException : SystemException
[<System.Serializable>]
type ThreadStateException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ThreadStateException = class
inherit SystemException
type ThreadStateException = class
inherit SystemException
Public Class ThreadStateException
Inherits SystemException
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki örnekte, sistemin oluşturmasına neden olan bir ThreadStateExceptionhata gösterilmektedir.
using System;
using System.Threading;
public class ThreadWork
{
public static void DoWork()
{
Console.WriteLine("Working thread...");
}
}
class ThreadStateTest
{
public static void Main()
{
ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
Thread myThread = new Thread(myThreadDelegate);
myThread.Start();
Thread.Sleep(0);
Console.WriteLine("In main. Attempting to restart myThread.");
try
{
myThread.Start();
}
catch (ThreadStateException e)
{
Console.WriteLine("Caught: {0}", e.Message);
}
}
}
Imports System.Threading
Public Class ThreadWork
Public Shared Sub DoWork()
Console.WriteLine("Working thread...")
End Sub
End Class
Class ThreadStateTest
Public Shared Sub Main()
Dim myThreadDelegate As New ThreadStart(AddressOf ThreadWork.DoWork)
Dim myThread As New Thread(myThreadDelegate)
myThread.Start()
Thread.Sleep(0)
Console.WriteLine("In main. Attempting to restart myThread.")
Try
myThread.Start()
Catch e As ThreadStateException
Console.WriteLine("Caught: {0}", e.Message)
End Try
End Sub
End Class
Bu kod aşağıdaki çıkışı oluşturur:
In main. Attempting to restart myThread.
Working thread...
Caught: Thread is running or terminated. Cannot restart.
Açıklamalar
bir iş parçacığı oluşturulduktan sonra, sonlandırılana ThreadState kadar en az bir durumda olur.
ThreadStateException bir iş parçacığının geçerli durumu nedeniyle istenen işlemi gerçekleştiremeyen yöntemler tarafından oluşturulur. Örneğin, sonlandırılan bir iş parçacığında çağrısı Start yaparak durdurulan bir iş parçacığını yeniden başlatmaya çalışmak bir ThreadStateExceptionoluşturur.
ThreadStateException değeri 0x80131520 olan HRESULT COR_E_THREADSTATE kullanır.
ThreadStateExceptionörneğinin ilk özellik değerlerinin listesi için bkz. ThreadStateException oluşturucuları.
Oluşturucular
| Name | Description |
|---|---|
| ThreadStateException() |
Sınıfın ThreadStateException yeni bir örneğini varsayılan özelliklerle başlatır. |
| ThreadStateException(SerializationInfo, StreamingContext) |
Serileştirilmiş verilerle ThreadStateException sınıfının yeni bir örneğini başlatır. |
| ThreadStateException(String, Exception) |
Belirtilen bir hata iletisi ve bu özel durumun nedeni olan iç özel duruma başvuru ile ThreadStateException sınıfının yeni bir örneğini başlatır. |
| ThreadStateException(String) |
Belirtilen bir hata iletisiyle sınıfının yeni bir örneğini ThreadStateException başlatır. |
Özellikler
| Name | Description |
|---|---|
| Data |
Özel durum hakkında kullanıcı tanımlı ek bilgiler sağlayan anahtar/değer çiftleri koleksiyonunu alır. (Devralındığı yer: Exception) |
| HelpLink |
Bu özel durumla ilişkili yardım dosyasının bağlantısını alır veya ayarlar. (Devralındığı yer: Exception) |
| HResult |
Belirli bir özel duruma atanan kodlanmış sayısal bir değer olan HRESULT değerini alır veya ayarlar. (Devralındığı yer: Exception) |
| InnerException |
Geçerli özel duruma neden olan Exception örneğini alır. (Devralındığı yer: Exception) |
| Message |
Geçerli özel durumu açıklayan bir ileti alır. (Devralındığı yer: Exception) |
| Source |
Hataya neden olan uygulamanın veya nesnenin adını alır veya ayarlar. (Devralındığı yer: Exception) |
| StackTrace |
Çağrı yığınındaki anlık çerçevelerin dize gösterimini alır. (Devralındığı yer: Exception) |
| TargetSite |
Geçerli özel durumu oluşturan yöntemini alır. (Devralındığı yer: Exception) |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| GetBaseException() |
Türetilmiş bir sınıfta geçersiz kılındığında, sonraki bir veya daha fazla özel durumun kök nedeni olan Exception döndürür. (Devralındığı yer: Exception) |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Türetilmiş bir sınıfta geçersiz kılındığında, özel durumla ilgili bilgilerle SerializationInfo ayarlar. (Devralındığı yer: Exception) |
| GetType() |
Geçerli örneğin çalışma zamanı türünü alır. (Devralındığı yer: Exception) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli özel durumun dize gösterimini oluşturur ve döndürür. (Devralındığı yer: Exception) |
Ekinlikler
| Name | Description |
|---|---|
| SerializeObjectState |
Özel durum hakkında serileştirilmiş veriler içeren bir özel durum durumu nesnesi oluşturmak için bir özel durum seri hale getirildiğinde gerçekleşir. (Devralındığı yer: Exception) |