Click here to Skip to main content
15,914,594 members
Home / Discussions / C#
   

C#

 
GeneralA new open-source filebrowser Pin
Jonathan Slenders26-Apr-04 0:25
Jonathan Slenders26-Apr-04 0:25 
Generalobject oriented program help Pin
Anonymous26-Apr-04 0:10
Anonymous26-Apr-04 0:10 
GeneralDatagrid and dataset Pin
Appelz25-Apr-04 23:09
Appelz25-Apr-04 23:09 
GeneralRe: Datagrid and dataset Pin
DougW4826-Apr-04 17:19
DougW4826-Apr-04 17:19 
GeneralRe: Datagrid and dataset Pin
Jay Shankar26-Apr-04 21:58
Jay Shankar26-Apr-04 21:58 
GeneralRe: Datagrid and dataset Pin
Appelz26-Apr-04 23:50
Appelz26-Apr-04 23:50 
GeneralRe: Datagrid and dataset Pin
Jay Shankar29-Apr-04 15:04
Jay Shankar29-Apr-04 15:04 
Questionhow can i get dates pupup from db ? Pin
kings_125-Apr-04 22:26
kings_125-Apr-04 22:26 
GeneralCompression Algoritm Pin
yarns25-Apr-04 22:09
yarns25-Apr-04 22:09 
GeneralDetecting when 'this' assembly gets loaded Pin
Arthur van der Wal25-Apr-04 22:08
Arthur van der Wal25-Apr-04 22:08 
GeneralRe: Detecting when 'this' assembly gets loaded Pin
pdohara28-Oct-08 5:09
pdohara28-Oct-08 5:09 
GeneralUrgent Repliy required (System tray icon dont appear) Pin
helloaamir25-Apr-04 21:49
helloaamir25-Apr-04 21:49 
GeneralDebuging Hash Table Pin
sreejith ss nair25-Apr-04 21:17
sreejith ss nair25-Apr-04 21:17 
GeneralRe: Debugging Hash Table Pin
Jeff Varszegi25-Apr-04 21:21
professionalJeff Varszegi25-Apr-04 21:21 
GeneralRe: Debugging Hash Table Pin
Heath Stewart26-Apr-04 3:19
protectorHeath Stewart26-Apr-04 3:19 
GeneralRe: Debugging Hash Table Pin
Jeff Varszegi26-Apr-04 3:36
professionalJeff Varszegi26-Apr-04 3:36 
GeneralRe: Debugging Hash Table Pin
Heath Stewart26-Apr-04 3:38
protectorHeath Stewart26-Apr-04 3:38 
GeneralRe: Debugging Hash Table Pin
Kannan Kalyanaraman26-Apr-04 8:20
Kannan Kalyanaraman26-Apr-04 8:20 
GeneralRe: Debugging Hash Table Pin
Heath Stewart26-Apr-04 8:24
protectorHeath Stewart26-Apr-04 8:24 
GeneralConsole in Windows Pin
sreejith ss nair25-Apr-04 21:11
sreejith ss nair25-Apr-04 21:11 
GeneralRe: Console in Windows Pin
hammackj26-Apr-04 1:01
hammackj26-Apr-04 1:01 
GeneralQuestion about synchronization Pin
hsupercn25-Apr-04 20:42
hsupercn25-Apr-04 20:42 
GeneralRe: Question about synchronization Pin
Jeff Varszegi25-Apr-04 21:08
professionalJeff Varszegi25-Apr-04 21:08 
Yep, that will work. I usually create an extra object to lock on, though, whether I'm working in a static or instance context; that goes for Java, too. Why? Because I think that an object should control its own destiny; its code shouldn't block indefinitely because some jerkoff decided to write code that locked the object or class externally. Unless that's desired behavior, of course. Smile | :) Know what I mean, though? Check out the SyncRoot property, where the .NET designers apparently decided the same thing. The same sort of thinking is exposed in Java APIs too.

Obviously, if you're creating a zillion objects that may be locked on, you don't want to create an extra object for each one just to accomplish this. However, I try to avoid creating zillions of objects in my code anyway; this means that most of my objects, especially the ones that I need to synchronize on, are pretty large and/or long-lived, hence the overhead of creating a tiny empty object is negligible. Add to that judicious use of the Immutable Object pattern, and I'm able to synchronize "cleanly" with no appreciable overhead.

[EDIT]One more thing-- even if you're going to use the type itself to lock on in a static context, you should probably store it as a static variable instead of getting it over... and over... and over again. [/EDIT]

Regards,

Jeff Varszegi
GeneralRe: Question about synchronization Pin
Heath Stewart26-Apr-04 3:16
protectorHeath Stewart26-Apr-04 3:16 
GeneralRe: Question about synchronization Pin
Jeff Varszegi26-Apr-04 4:20
professionalJeff Varszegi26-Apr-04 4:20 

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.