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 |
Give an example of microkernel.
13 Answers Global Edge, Samsung,
What do you mean by deadlock?
what is difference between IRQ and FRQ ?
what is major concerns about any RTOS selection ?
If two processes which shares same system memory and system clock in a distributed system, What is it called?
What is the important aspect of a real-time system ?
What is priority inversion ? and What is the solution ?
6 Answers Qualcomm, Tandberg, Wipro,
Write a small dc shell script to find number of FF in the design
What is the state of the processor, when a process is waiting for some event to occur?
Explain the difference between microkernel and macro kernel.
5 Answers Infosys, Tech Mahindra,
What is the difference between Hard and Soft real-time systems ?
11 Answers Google, Hella, Satyam,
what is the need of creating 4GB of pages in linux?