2012-04-14 30 views
5

Trong Java, có ThreadMXBean và ThreadInfo yêu cầu thông tin về các khóa mà một luồng đang giữ trong thời gian chạy.Làm thế nào để yêu cầu khóa và deadlocks của một luồng khi chạy với C#?

Điều này cũng có thể thực hiện được với C#? Nếu có, tôi có thể làm như thế nào?

+1

Kiểm tra hướng dẫn này trên deadlocks gỡ lỗi: http://blogs.msdn.com/b/mohamedg/archive/2010/01/29/ how-to-debug-deadlocks-using-windbg.aspx –

+0

Đó là một liên kết vững chắc trên gỡ lỗi deadlocks. –

+0

Vấn đề không phải là một bế tắc tái sản xuất trên hệ thống nhà phát triển. Mục tiêu là đăng nhập vào hệ thống khách hàng nếu một số điều sai. – Horcrux7

Trả lời

1

Không có thời gian chạy tương đương trong C#. Nếu bạn cần theo dõi nó, bạn sẽ cần phải triển khai trình bao bọc của riêng bạn xung quanh nó. Đồng thời xem xét sử dụng Monitor.TryEnter với thời gian chờ nếu ứng dụng của bạn nhạy cảm với việc khóa.

lock (object) { // Synchronized code }

Chuyển thành,

try 
{ 
    Monitor.Enter(object); 
} 
finally 
{ 
    Monitor.Exit(object); 
} 

Các vấn đề liên quan