Take a look at the linux kernel . Or VLC player 's source code. You will not ask this question again.
-- www.quora.com/rahul-rai On Thu, Jan 3, 2013 at 12:44 AM, atul anand <[email protected]> wrote: > @shady : It allows us to allocate m/m dynamically ..which in itself is > very big advantage. > m/m consumption can be ignored , if you compare with the flexibility > it provides. > eg:- > > int *arr=(int *)malloc(sizeof(int) * 100); > > now m/m consumption here is 100*4+8;// extra 8 wont hurt if you > compare with the advantage. > > another advantage:- > suppose dere are 1000 integer value stored in > m/m...a1,a2,a3,a4....a100...now among all these only one is active at > a particular time T. > now to make it more interesting,suppose multiple threads want to find > which one is active at a particular time T. > > it would be better if we have int *active pointer. > now anyone among a1,a2,a3....a100 becomes active then we store its > address to *active.All threads now just need to synchronize and check > *active pointer to find which one is active at a particular time T > among a1,a2,a3...a10.... instead of checking each variable which is > time consuming and may corrupt at some time. > I hope it helps. > > > now suppose mutiple threads are accessing sam > > -- > > > --
