Question: concurrency and parallel programming

Simple and Advanced:

1. Explain the difference between Mutex, Conditional Variable and Semaphore, Give the difference with following points,

A) Their Internal working. 

B) Practical  real life example of each one.

C) Selection criteria ( When do you select the Mutex, when CV and when Semaphore)

D) What are the concurrent problems that each one solves.

E) Which one is faster then other [Mutex or Semaphore]

F) Thread Lock and Unlock context.


2. How would you pinned an individual thread to a given CPU. and why would you ever choose to do that, what forces you to do this. Give practical scenarios for this.


3. Explain the difference between thread local queue and shared queue approach for multi threaded design. Which one would be preferred in which cases.  Advantage and downside of each one. Write an article on this and give some detailed thought on this subject.




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s