I have been working on one thread which manage and control
a couple of circular buffers. It has api for other thread
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)
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 is the need of creating 4GB of pages in linux?
Explain the difference between microkernel and macro kernel.
What is priority inversion ? and What is the solution ?
What is a mission critical system ?
what is major concerns about any RTOS selection ?
Write a small dc shell script to find number of FF in the design
what is difference between IRQ and FRQ ?
What is the state of the processor, when a process is waiting for some event to occur?
What do you mean by deadlock?
When would you choose top down methodology?
If two processes which shares same system memory and system clock in a distributed system, What is it called?
what are the rules u follow when u r writing critical section of code?