Click here to Skip to main content
15,906,816 members
Home / Discussions / C#
   

C#

 
AnswerRe: SSD Computer and Visual Studio 2015... Pin
Gerry Schmitz19-Jan-17 5:27
mveGerry Schmitz19-Jan-17 5:27 
QuestionWinforms custom property fails to reload - continued from QA Pin
Midi_Mick18-Jan-17 3:53
professionalMidi_Mick18-Jan-17 3:53 
AnswerRe: Winforms custom property fails to reload - continued from QA Pin
Gerry Schmitz18-Jan-17 4:47
mveGerry Schmitz18-Jan-17 4:47 
GeneralRe: Winforms custom property fails to reload - continued from QA Pin
Midi_Mick18-Jan-17 4:54
professionalMidi_Mick18-Jan-17 4:54 
GeneralRe: Winforms custom property fails to reload - continued from QA Pin
Gerry Schmitz18-Jan-17 5:19
mveGerry Schmitz18-Jan-17 5:19 
GeneralRe: Winforms custom property fails to reload - continued from QA Pin
Midi_Mick18-Jan-17 5:34
professionalMidi_Mick18-Jan-17 5:34 
QuestionRe: Winforms custom property fails to reload - continued from QA. A new clue. Pin
Midi_Mick18-Jan-17 4:48
professionalMidi_Mick18-Jan-17 4:48 
QuestionWhen is it safe to use Monitor (lock) with Task? Pin
Bernhard Hiller18-Jan-17 2:34
Bernhard Hiller18-Jan-17 2:34 
In a multi-threaded environment, we must take of concurrent access to writable resources. A common approach is to use Monitor or its shorthand form lock.

Task is at a different abstraction level than Thread. A task may run on a thread of its own (and according to the logs, they do so in our application), but that is not guaranteed. See e.g. c# - What is the difference between task and thread? - Stack Overflow[^]:
If the value you are waiting for comes from the filesystem or a database or the network, then there is no need for a thread to sit around and wait for the data when it can be servicing other requests. Instead, the Task might register a callback to receive the value(s) when they're ready.
That is, that kind of Task somehow shares a Thread with other running code (I must admit that I do not understand how that works in detail, currently it looks to me like a specialization of the "famous" DoEvents).

Consequently, Monitor won't be able to distinguish between them, and - because Monitor can be re-entrant - allow both of them access the resource. That is, Monitor "fails".

Examples with Threads typically use Monitor nonetheless. So I want to ask how I can be sure that Monitor is safe with a Task (or: how can I be sure that a Task is running on a Thread of its own).
AnswerRe: When is it safe to use Monitor (lock) with Task? Pin
Pete O'Hanlon18-Jan-17 3:25
mvePete O'Hanlon18-Jan-17 3:25 
GeneralRe: When is it safe to use Monitor (lock) with Task? Pin
Bernhard Hiller18-Jan-17 21:05
Bernhard Hiller18-Jan-17 21:05 
AnswerRe: When is it safe to use Monitor (lock) with Task? Pin
Richard Deeming18-Jan-17 8:11
mveRichard Deeming18-Jan-17 8:11 
GeneralRe: When is it safe to use Monitor (lock) with Task? Pin
Bernhard Hiller18-Jan-17 21:11
Bernhard Hiller18-Jan-17 21:11 
GeneralRe: When is it safe to use Monitor (lock) with Task? Pin
Pete O'Hanlon18-Jan-17 21:15
mvePete O'Hanlon18-Jan-17 21:15 
QuestionGroup of Checkboxes Pin
eejaynic17-Jan-17 11:41
eejaynic17-Jan-17 11:41 
AnswerRe: Group of Checkboxes Pin
Gerry Schmitz17-Jan-17 13:02
mveGerry Schmitz17-Jan-17 13:02 
GeneralRe: Group of Checkboxes Pin
eejaynic17-Jan-17 14:11
eejaynic17-Jan-17 14:11 
GeneralRe: Group of Checkboxes Pin
Gerry Schmitz17-Jan-17 14:53
mveGerry Schmitz17-Jan-17 14:53 
AnswerRe: Group of Checkboxes Pin
Richard Deeming18-Jan-17 2:04
mveRichard Deeming18-Jan-17 2:04 
GeneralRe: Group of Checkboxes Pin
eejaynic18-Jan-17 9:03
eejaynic18-Jan-17 9:03 
QuestionCommunicating with unmanaged DLL Pin
Member 1041441717-Jan-17 2:43
Member 1041441717-Jan-17 2:43 
AnswerRe: Communicating with unmanaged DLL Pin
Midi_Mick17-Jan-17 3:19
professionalMidi_Mick17-Jan-17 3:19 
GeneralRe: Communicating with unmanaged DLL Pin
Member 1041441717-Jan-17 4:13
Member 1041441717-Jan-17 4:13 
AnswerRe: Communicating with unmanaged DLL Pin
Bernhard Hiller17-Jan-17 23:26
Bernhard Hiller17-Jan-17 23:26 
QuestionRe: Communicating with unmanaged DLL Pin
Member 1390693510-Jul-18 22:01
Member 1390693510-Jul-18 22:01 
QuestionGlade errors after launching debug Pin
Sascha Manns16-Jan-17 23:18
professionalSascha Manns16-Jan-17 23:18 

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.