I have been working on one thread which manage and control
a couple of circular buffers. It has api for other thread
to access.
As the thread grows bigger and bigger,
I split it as 3 to 4 threads which need to share common
buffers, and also their api could be used by other threads,
(not these three threads). Inside api, I also allow other
threads to access these three threads' common buffers(more
than one buffer). SO I have to use mutex to avoid race
condition . But I found mutex will be everwhere in all the
threads when they update the common buffer. I am wondering
whether I could reduce mutex usage(more mutex will hure my
system performance). any ideas for how to reduce mutex
usage meanwhile to avoid race condition. Thanks
Answers were Sorted based on User's Feedback
Answer / basav (shiv shankar)
Hi,
According to my knowledge, you can use counting semaphores.
You an also use condition variable as well which could be
used to avoid race condition and deadlock too.
Hope my answer gives an idea!
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / aswin
taskSpawn in vxWorks will spawn/create a new task with specific priority
| Is This Answer Correct ? | 0 Yes | 2 No |
what are the rules u follow when u r writing critical section of code?
Explain the difference between microkernel and macro kernel.
5 Answers Infosys, Tech Mahindra,
When would you choose bottom up methodology?
What do you mean by deadlock?
What is the state of the processor, when a process is waiting for some event to occur?
what is difference between IRQ and FRQ ?
What is the difference between Hard and Soft real-time systems ?
11 Answers Google, Hella, Satyam,
Write a small dc shell script to find number of FF in the design
what is major concerns about any RTOS selection ?
When would you choose top down methodology?
What is the important aspect of a real-time system ?
what is the need of creating 4GB of pages in linux?