SynLock ve Race Conditionlar

02.12.2005

Okuyucu : 1.124
Günlük Okuyucu : 1,3

Multithreading' in en sevimsiz ama eğlenceli kısımlarından biri obje kilitlemeleri (lock),

Örnek olarak devamlı sürecek bir multithreading işleminde şu şekilde OOP' un nimetlerinden yararlanabilirsiniz;

Public Property ThreadCount() As Integer
Get
SyncLock InterLock

_threadCount += 1
Return _threadCount

End SyncLock
End Get

....

 

Burada InterLock Public bir boş object "Public InterLock As New Object"

Dikkat etmeniz gereken en önemli şey iki defa ThreadCount u çağırdığınızda sayıyı iki defa yükseltiğinizdir. Dolayısıyla birden fazla kullanılması durumunda lokal bir kopay kullanmak akıllıca olacaktır.

Ferruh Mavituna
© 2002-2007, Ferruh Mavituna

Sabit IP Adresi : 81.22.99.133, SSL Erişimi, Hakkında