Click here to Skip to main content
15,895,557 members
Home / Discussions / C#
   

C#

 
GeneralRe: C# locks and atomicity Pin
Judah Gabriel Himango24-Jun-08 10:59
sponsorJudah Gabriel Himango24-Jun-08 10:59 
GeneralRe: C# locks and atomicity Pin
leppie24-Jun-08 20:01
leppie24-Jun-08 20:01 
GeneralRe: C# locks and atomicity Pin
Judah Gabriel Himango25-Jun-08 5:01
sponsorJudah Gabriel Himango25-Jun-08 5:01 
GeneralRe: C# locks and atomicity Pin
Frank Horn24-Jun-08 22:36
Frank Horn24-Jun-08 22:36 
GeneralRe: C# locks and atomicity Pin
Judah Gabriel Himango25-Jun-08 5:06
sponsorJudah Gabriel Himango25-Jun-08 5:06 
GeneralRe: C# locks and atomicity Pin
Frank Horn25-Jun-08 21:30
Frank Horn25-Jun-08 21:30 
GeneralRe: C# locks and atomicity Pin
Judah Gabriel Himango26-Jun-08 5:12
sponsorJudah Gabriel Himango26-Jun-08 5:12 
GeneralRe: C# locks and atomicity Pin
Frank Horn26-Jun-08 7:50
Frank Horn26-Jun-08 7:50 
OK, so that's not the reason. But isWorking can still be false in OnDoSomethingCompletedAsync:

1. Thread1 calls Foo and returns. Now isWorking=true, and PoolThread1 is processing DoSomething. No lock.
2. Thread2 calls Foo and returns. Still isWorking=true, and PoolThread2 is processing DoSomething. No lock.
3. PoolThread1 finishes, calls OnDoSomethingCompletedAsync and returns. Now isWorking=false. No lock.
4. PoolThread2 finishes, and because Foo has not been called again, it finds isWorking=false in OnDoSomethingCompletedAsync.

I don't know why you want isWorking to be true in OnDoSomethingCompletedAsync. If you really want to enforce it, you could enclose the whole DoSomething code inside a lock(syncObject) block. But that would be the end of parallel procession. So what is all this about? Or was it just an academic question?
GeneralRe: C# locks and atomicity Pin
Judah Gabriel Himango26-Jun-08 8:28
sponsorJudah Gabriel Himango26-Jun-08 8:28 
GeneralRe: C# locks and atomicity Pin
Frank Horn26-Jun-08 9:48
Frank Horn26-Jun-08 9:48 
GeneralRe: C# locks and atomicity Pin
Judah Gabriel Himango26-Jun-08 12:08
sponsorJudah Gabriel Himango26-Jun-08 12:08 
GeneralRe: C# locks and atomicity Pin
Frank Horn26-Jun-08 20:44
Frank Horn26-Jun-08 20:44 
QuestionGet Struct Element by string Pin
robert rodgers24-Jun-08 8:47
robert rodgers24-Jun-08 8:47 
AnswerRe: Get Struct Element by string Pin
Judah Gabriel Himango24-Jun-08 10:24
sponsorJudah Gabriel Himango24-Jun-08 10:24 
GeneralRe: Get Struct Element by string Pin
robert rodgers25-Jun-08 3:34
robert rodgers25-Jun-08 3:34 
GeneralRe: Get Struct Element by string Pin
robert rodgers25-Jun-08 3:42
robert rodgers25-Jun-08 3:42 
GeneralRe: Get Struct Element by string Pin
Judah Gabriel Himango25-Jun-08 4:55
sponsorJudah Gabriel Himango25-Jun-08 4:55 
GeneralRe: Get Struct Element by string Pin
robert rodgers25-Jun-08 5:22
robert rodgers25-Jun-08 5:22 
QuestionI am trying to save chinese charecter into sql 2005 database from asp.net,c# website Pin
mdpavel24-Jun-08 6:32
mdpavel24-Jun-08 6:32 
AnswerRe: I am trying to save chinese charecter into sql 2005 database from asp.net,c# website Pin
Paul Conrad24-Jun-08 6:51
professionalPaul Conrad24-Jun-08 6:51 
AnswerRe: I am trying to save chinese charecter into sql 2005 database from asp.net,c# website Pin
Ennis Ray Lynch, Jr.24-Jun-08 7:02
Ennis Ray Lynch, Jr.24-Jun-08 7:02 
AnswerRe: I am trying to save chinese charecter into sql 2005 database from asp.net,c# website Pin
N a v a n e e t h24-Jun-08 7:42
N a v a n e e t h24-Jun-08 7:42 
AnswerRe: I am trying to save chinese charecter into sql 2005 database from asp.net,c# website Pin
mdpavel24-Jun-08 8:20
mdpavel24-Jun-08 8:20 
AnswerRe: I am trying to save chinese charecter into sql 2005 database from asp.net,c# website Pin
mdpavel24-Jun-08 11:05
mdpavel24-Jun-08 11:05 
QuestionDifferent audio device in System.Speech.Synthesis Pin
Firedragonweb24-Jun-08 5:22
Firedragonweb24-Jun-08 5:22 

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.