Click here to Skip to main content
15,889,176 members
Home / Discussions / .NET (Core and Framework)
   

.NET (Core and Framework)

 
GeneralMessage Removed Pin
29-Apr-10 5:50
professionalN_tro_P29-Apr-10 5:50 
GeneralRe: lock PinPopular
Luc Pattyn29-Apr-10 5:57
sitebuilderLuc Pattyn29-Apr-10 5:57 
GeneralMessage Removed Pin
29-Apr-10 6:07
professionalN_tro_P29-Apr-10 6:07 
GeneralRe: lock Pin
Covean29-Apr-10 6:23
Covean29-Apr-10 6:23 
GeneralRe: lock Pin
Alex Manolescu29-Apr-10 11:34
Alex Manolescu29-Apr-10 11:34 
GeneralRe: lock Pin
Dave Kreskowiak29-Apr-10 7:01
mveDave Kreskowiak29-Apr-10 7:01 
GeneralRe: lock Pin
Covean29-Apr-10 6:13
Covean29-Apr-10 6:13 
GeneralRe: lock Pin
supercat929-Apr-10 9:11
supercat929-Apr-10 9:11 
Luc Pattyn wrote:
All is fine if the outside world cannot touch the lock object, so if you have say a return _collection; somewhere, then the first is no good.


If you have a return _collection, you must expose whatever lock object you're using. You may as well use _collection itself as the lock object (and mandate that anyone who does anything with that collection do likewise). Returning _collection without exposing its lock object a guaranteed disaster. The idea that one should avoid exposing the lock for an exposed non-threadsafe object is absurd.

If a non-threadsafe object is accessed by two routines in different threads, the two routines must use the same lock object to arbitrate access. If the routines use different lock objects, nothing will prevent illegitimate concurrent access. I have no idea why this issue doesn't seem to be amplified more.

BTW, I also have no idea why Microsoft didn't come up with a more useful contract for iEnumerable--one that would allow for a collection to accept modifications during enumeration without throwing an exception, provided certain constraints were met.
GeneralRe: lock Pin
Luc Pattyn29-Apr-10 9:38
sitebuilderLuc Pattyn29-Apr-10 9:38 
GeneralRe: lock Pin
supercat929-Apr-10 13:10
supercat929-Apr-10 13:10 
GeneralRe: lock Pin
Luc Pattyn29-Apr-10 13:56
sitebuilderLuc Pattyn29-Apr-10 13:56 
GeneralRe: lock Pin
supercat930-Apr-10 5:02
supercat930-Apr-10 5:02 
GeneralRe: lock Pin
Luc Pattyn30-Apr-10 5:19
sitebuilderLuc Pattyn30-Apr-10 5:19 
GeneralEnumerators Pin
supercat930-Apr-10 6:12
supercat930-Apr-10 6:12 
GeneralRe: Enumerators Pin
Luc Pattyn30-Apr-10 9:18
sitebuilderLuc Pattyn30-Apr-10 9:18 
GeneralRe: Enumerators Pin
supercat930-Apr-10 11:31
supercat930-Apr-10 11:31 
QuestionReference a .NET 3.5 assembly form a .NET 2.0 other assembly: in VS2008 ok, not in VS2010 Pin
Ferdinando Santacroce29-Apr-10 3:22
Ferdinando Santacroce29-Apr-10 3:22 
AnswerRe: Reference a .NET 3.5 assembly form a .NET 2.0 other assembly: in VS2008 ok, not in VS2010 Pin
Not Active29-Apr-10 3:35
mentorNot Active29-Apr-10 3:35 
GeneralRe: Reference a .NET 3.5 assembly form a .NET 2.0 other assembly: in VS2008 ok, not in VS2010 Pin
Luc Pattyn29-Apr-10 4:18
sitebuilderLuc Pattyn29-Apr-10 4:18 
AnswerRe: Reference a .NET 3.5 assembly form a .NET 2.0 other assembly: in VS2008 ok, not in VS2010 Pin
Ferdinando Santacroce29-Apr-10 5:54
Ferdinando Santacroce29-Apr-10 5:54 
QuestionAny Problem with VS 2010 Ultimate? if VS 2008 already exists.. Pin
yadlaprasad29-Apr-10 1:26
yadlaprasad29-Apr-10 1:26 
AnswerRe: Any Problem with VS 2010 Ultimate? if VS 2008 already exists.. Pin
Michel Godfroid29-Apr-10 1:47
Michel Godfroid29-Apr-10 1:47 
AnswerRe: Any Problem with VS 2010 Ultimate? if VS 2008 already exists.. Pin
Not Active29-Apr-10 1:56
mentorNot Active29-Apr-10 1:56 
QuestionSetting DisplayMember & ValueMember with DataTable Pin
massaslayer28-Apr-10 10:21
massaslayer28-Apr-10 10:21 
AnswerRe: Setting DisplayMember & ValueMember with DataTable Pin
Ashfield29-Apr-10 3:39
Ashfield29-Apr-10 3:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.