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

C#

 
QuestionArray of Structs overwrite problem Pin
Bruce Coward13-Apr-09 5:41
Bruce Coward13-Apr-09 5:41 
AnswerRe: Array of Structs overwrite problem Pin
Luc 64801113-Apr-09 6:06
Luc 64801113-Apr-09 6:06 
GeneralRe: Array of Structs overwrite problem Pin
Bruce Coward13-Apr-09 6:24
Bruce Coward13-Apr-09 6:24 
GeneralRe: Array of Structs overwrite problem Pin
Luc 64801113-Apr-09 7:17
Luc 64801113-Apr-09 7:17 
AnswerRe: Array of Structs overwrite problem Pin
Gideon Engelberth13-Apr-09 8:51
Gideon Engelberth13-Apr-09 8:51 
GeneralRe: Array of Structs overwrite problem Pin
Luc 64801113-Apr-09 9:01
Luc 64801113-Apr-09 9:01 
AnswerRe: Array of Structs overwrite problem Pin
Alan N13-Apr-09 9:49
Alan N13-Apr-09 9:49 
GeneralRe: Array of Structs overwrite problem Pin
Luc 64801113-Apr-09 10:29
Luc 64801113-Apr-09 10:29 
Hi Alan,

while I agree on two pointers plus amount being easier to understand, the nice thing about a circular buffer with only two pointers (and an empty slot) is that you don't need to lock if there is only one producer and one consumer: each pointer will have one writer and two readers, so when writing is atomic all is fine (when implemented carefully that is). Adding a currentCount makes the state redundant and prohibits atomic operations.
Remember, in a typical application, the consumer would be the app itself, the producer of incoming messages would be the CAN driver, which operates from an interrupt service routine (an asynchronous handler in .NET speak).

Smile | :)
QuestionCross-thread error. Pin
Fired.Fish.Gmail13-Apr-09 4:58
Fired.Fish.Gmail13-Apr-09 4:58 
AnswerRe: Cross-thread error. Pin
Colin Angus Mackay13-Apr-09 5:06
Colin Angus Mackay13-Apr-09 5:06 
GeneralRe: Cross-thread error. Pin
Fired.Fish.Gmail13-Apr-09 5:20
Fired.Fish.Gmail13-Apr-09 5:20 
GeneralRe: Cross-thread error. Pin
Henry Minute13-Apr-09 5:22
Henry Minute13-Apr-09 5:22 
AnswerRe: Cross-thread error. Pin
Luc 64801113-Apr-09 5:39
Luc 64801113-Apr-09 5:39 
Questionstruct or class? Pin
Jammer13-Apr-09 4:27
Jammer13-Apr-09 4:27 
AnswerRe: struct or class? Pin
DaveyM6913-Apr-09 4:34
professionalDaveyM6913-Apr-09 4:34 
GeneralRe: struct or class? Pin
Colin Angus Mackay13-Apr-09 4:38
Colin Angus Mackay13-Apr-09 4:38 
AnswerRe: struct or class? Pin
PIEBALDconsult13-Apr-09 5:14
mvePIEBALDconsult13-Apr-09 5:14 
GeneralRe: struct or class? Pin
Colin Angus Mackay13-Apr-09 5:22
Colin Angus Mackay13-Apr-09 5:22 
QuestionSql Backup Pin
nagendra.vk13-Apr-09 4:24
nagendra.vk13-Apr-09 4:24 
AnswerRe: Sql Backup Pin
Colin Angus Mackay13-Apr-09 4:43
Colin Angus Mackay13-Apr-09 4:43 
QuestionHandling Exceptions from another thread Pin
Fayu13-Apr-09 4:02
Fayu13-Apr-09 4:02 
AnswerRe: Handling Exceptions from another thread Pin
Fayu13-Apr-09 6:17
Fayu13-Apr-09 6:17 
GeneralRe: Handling Exceptions from another thread Pin
Luc 64801113-Apr-09 7:22
Luc 64801113-Apr-09 7:22 
Questionmaster window Pin
EmZan13-Apr-09 3:20
EmZan13-Apr-09 3:20 
AnswerRe: master window Pin
Colin Angus Mackay13-Apr-09 3:50
Colin Angus Mackay13-Apr-09 3:50 

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.