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 is major concerns about any RTOS selection ?
What is the important aspect of a real-time system ?
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
When would you choose top down methodology?
Describe different job scheduling in operating systems.
What is a mission critical system ?
Give an example of microkernel.
13 Answers Global Edge, Samsung,
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 do you mean by deadlock?
Write a small dc shell script to find number of FF in the design
What is a Real-Time System ?