Click here to Skip to main content
15,885,891 members
Home / Discussions / C#
   

C#

 
Generalasking for system tray application Pin
azusakt12-Jan-04 16:25
azusakt12-Jan-04 16:25 
GeneralRe: asking for system tray application Pin
Jeff Mackie12-Jan-04 17:16
sussJeff Mackie12-Jan-04 17:16 
GeneralRe: asking for system tray application Pin
azusakt12-Jan-04 17:51
azusakt12-Jan-04 17:51 
GeneralRe: asking for system tray application Pin
Heath Stewart13-Jan-04 4:53
protectorHeath Stewart13-Jan-04 4:53 
Questionreturning when inside a lock - is it safe? Pin
Brandon Haase12-Jan-04 15:29
Brandon Haase12-Jan-04 15:29 
AnswerRe: returning when inside a lock - is it safe? Pin
Heath Stewart13-Jan-04 4:46
protectorHeath Stewart13-Jan-04 4:46 
GeneralRe: returning when inside a lock - is it safe? Pin
Brandon Haase13-Jan-04 16:13
Brandon Haase13-Jan-04 16:13 
AnswerRe: returning when inside a lock - is it safe? Pin
scadaguy13-Jan-04 5:23
scadaguy13-Jan-04 5:23 
Brandon,

Returning inside a lock is okay.

I don't necessarily see anything incorrect about your implementation. However, the double-checked locking pattern is essentially useless as you have used it since you'll always be aquiring at least one lock anyway. I would suggest the following code...

public class IsoCurrencyInfo
{
    private static Hashtable _iciRegistry = new Hashtable();

    public static IsoCurrencyInfo GetInstance(string isoCode)
    {
        if (!_iciRegistry.Contains(isoCode))
        {
            lock (syncRoot)
            {
                if (!_iciRegistry.Contains(isoCode))
                {
                    _iciRegistry.Add(isoCode, new IsoCurrencyInfo(isoCode));
                }
            }
        }
        return (IsoCurrencyInfo)_iciRegistry[isoCode];
    }
}


It is important to realize that the Hashtable is the only IDictionary collection that will work as I have used it. This is because the Hashtable can support multiple readers and one writer simultaneously. Likewise, you won't be able to use the same trick with an ArrayList. In this implementation the lock is rarely acquired.

Brian
GeneralRe: returning when inside a lock - is it safe? Pin
Brandon Haase13-Jan-04 16:28
Brandon Haase13-Jan-04 16:28 
Generalremoting access Pin
haih12-Jan-04 15:23
haih12-Jan-04 15:23 
GeneralRe: remoting access Pin
Heath Stewart13-Jan-04 4:31
protectorHeath Stewart13-Jan-04 4:31 
GeneralHelp with MonthCalendar class Pin
KingTermite12-Jan-04 15:18
KingTermite12-Jan-04 15:18 
GeneralRe: Help with MonthCalendar class Pin
Heath Stewart13-Jan-04 3:41
protectorHeath Stewart13-Jan-04 3:41 
GeneralRe: Help with MonthCalendar class Pin
KingTermite13-Jan-04 4:27
KingTermite13-Jan-04 4:27 
GeneralRe: Help with MonthCalendar class Pin
Heath Stewart13-Jan-04 4:37
protectorHeath Stewart13-Jan-04 4:37 
GeneralRe: Help with MonthCalendar class Pin
KingTermite13-Jan-04 5:43
KingTermite13-Jan-04 5:43 
GeneralRe: Help with MonthCalendar class Pin
Heath Stewart13-Jan-04 5:50
protectorHeath Stewart13-Jan-04 5:50 
GeneralRe: Help with MonthCalendar class Pin
KingTermite13-Jan-04 6:02
KingTermite13-Jan-04 6:02 
GeneralRe: Help with MonthCalendar class Pin
Heath Stewart13-Jan-04 6:47
protectorHeath Stewart13-Jan-04 6:47 
GeneralRe: Help with MonthCalendar class Pin
KingTermite15-Jan-04 14:49
KingTermite15-Jan-04 14:49 
GeneralRe: Help with MonthCalendar class Pin
Heath Stewart16-Jan-04 3:42
protectorHeath Stewart16-Jan-04 3:42 
GeneralFile Permissions Pin
krisp12-Jan-04 14:54
krisp12-Jan-04 14:54 
GeneralRe: File Permissions Pin
Jeff Mackie12-Jan-04 17:33
sussJeff Mackie12-Jan-04 17:33 
GeneralRe: File Permissions Pin
krisp12-Jan-04 17:36
krisp12-Jan-04 17:36 
GeneralRe: File Permissions Pin
Jeff Mackie12-Jan-04 17:48
sussJeff Mackie12-Jan-04 17:48 

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.