Click here to Skip to main content
15,890,512 members
Home / Discussions / C#
   

C#

 
Questionhow to modify chart series default color? Pin
smallkubi3-Nov-15 20:06
smallkubi3-Nov-15 20:06 
AnswerRe: how to modify chart series default color? Pin
OriginalGriff4-Nov-15 0:47
mveOriginalGriff4-Nov-15 0:47 
QuestionPopulate checkbox from database C# Pin
berrymaria3-Nov-15 19:16
berrymaria3-Nov-15 19:16 
AnswerRe: Populate checkbox from database C# Pin
Pete O'Hanlon3-Nov-15 21:11
mvePete O'Hanlon3-Nov-15 21:11 
Questionhow to use matlab bifurcation Pin
Member 118227093-Nov-15 14:28
Member 118227093-Nov-15 14:28 
AnswerRe: how to use matlab bifurcation PinPopular
Pete O'Hanlon3-Nov-15 21:09
mvePete O'Hanlon3-Nov-15 21:09 
AnswerRe: how to use matlab bifurcation Pin
Eddy Vluggen4-Nov-15 2:19
professionalEddy Vluggen4-Nov-15 2:19 
QuestionReturning reference to object (lock loses effect?) Pin
Member 120616003-Nov-15 0:24
Member 120616003-Nov-15 0:24 
Imagine I have such code:

C#
public static List<SocketStructure> GetHostAddressesList()
     {
         lock (m_locker)
         {
             if (m_isInited == false)
             {
                 return null;
             }

             return m_HostAddresses;
         }
     }


Usage in other class
C#
            // Get list of host addresses
            List<SocketStructure> tmp = DppModuleParameters.GetHostAddressesList();
            // NOTE: hostaddresses will never be changed via tmp
   
            for (int i = indexHost; i < tmp.Count; i++) // Still accessing the m_HostAddresses right?
            {
            }


My question is you can see above once I got reference to m_HostAddresses, even though there is lock in the getter, I am losing the thread safety, because, tmp still points to m_HostAddresses right? So if another thread modifies m_HostAddresses, then tmp will have old value right?

What is the way to protect against this?

Would it be better instead of getter to have something like deep copy? I pass some temporary structure to function and instead of returning reference as getter does, the function would copy host addresses to that structure inside lock. Would this be better?

Or I should use getter each time I want to refer to that variable instead of storing in tmp?
BTw. The only method that can modify host addresses is also protected with same lock.
AnswerRe: Returning reference to object (lock loses effect?) Pin
OriginalGriff3-Nov-15 0:44
mveOriginalGriff3-Nov-15 0:44 
GeneralRe: Returning reference to object (lock loses effect?) Pin
Member 120616003-Nov-15 1:03
Member 120616003-Nov-15 1:03 
GeneralRe: Returning reference to object (lock loses effect?) Pin
OriginalGriff3-Nov-15 1:11
mveOriginalGriff3-Nov-15 1:11 
GeneralRe: Returning reference to object (lock loses effect?) Pin
OriginalGriff3-Nov-15 1:28
mveOriginalGriff3-Nov-15 1:28 
GeneralRe: Returning reference to object (lock loses effect?) Pin
Member 120616003-Nov-15 1:33
Member 120616003-Nov-15 1:33 
GeneralRe: Returning reference to object (lock loses effect?) Pin
OriginalGriff3-Nov-15 1:49
mveOriginalGriff3-Nov-15 1:49 
GeneralRe: Returning reference to object (lock loses effect?) Pin
Member 120616003-Nov-15 1:56
Member 120616003-Nov-15 1:56 
GeneralRe: Returning reference to object (lock loses effect?) Pin
OriginalGriff3-Nov-15 2:19
mveOriginalGriff3-Nov-15 2:19 
GeneralRe: Returning reference to object (lock loses effect?) Pin
Member 120616003-Nov-15 2:22
Member 120616003-Nov-15 2:22 
GeneralRe: Returning reference to object (lock loses effect?) Pin
OriginalGriff3-Nov-15 5:37
mveOriginalGriff3-Nov-15 5:37 
AnswerRe: Returning reference to object (lock loses effect?) Pin
Pete O'Hanlon3-Nov-15 0:57
mvePete O'Hanlon3-Nov-15 0:57 
AnswerRe: Returning reference to object (lock loses effect?) Pin
John Torjo3-Nov-15 1:34
professionalJohn Torjo3-Nov-15 1:34 
GeneralRe: Returning reference to object (lock loses effect?) Pin
Member 120616003-Nov-15 1:53
Member 120616003-Nov-15 1:53 
AnswerRe: Returning reference to object (lock loses effect?) Pin
John Torjo3-Nov-15 1:59
professionalJohn Torjo3-Nov-15 1:59 
GeneralRe: Returning reference to object (lock loses effect?) Pin
Member 120616003-Nov-15 2:02
Member 120616003-Nov-15 2:02 
GeneralRe: Returning reference to object (lock loses effect?) Pin
John Torjo3-Nov-15 2:04
professionalJohn Torjo3-Nov-15 2:04 
GeneralRe: Returning reference to object (lock loses effect?) Pin
Member 120616003-Nov-15 2:20
Member 120616003-Nov-15 2: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.