Programming in the Age of Concurrency: Software Transactional Memory

Thanks for this video. It helped me understand how windows manages threads that I program in my apps. Great video. Keep it up.
Alexis wrote:Hey, the link to the whitepaper does not work.
arunki wrote:1) Code injection is only limited for the protected processes, which are not meant to provide arbitrary extensibility by design. These processes can only load specially digitally signed code. The goal is to limit what can run inside them.
2) There is no one-one mapping between work items and threads. Work queues and the threadpool try to manage the number of threads based on the workload / CPU availability. For example, the Vista threadpool tries to keep # CPU threads running, but will throttle threads back when it detects this number has been exceeded. Additional threads are created as needed in this range; the excess work items accumulate and are serviced by threads as they become available.
3) It depends on your application. If it is a piece of code you just want to execute asynchronously, threadpool provides an efficient and simple means of accomplishing this. It does, however, introduce additional overhead. In other cases, you may need a dedicated thread for a task whose operation / life cycle you may need finer grained control over.
Great and detailed on Porcess/Thread. I have been using threads in user mode and it is nice to know more about the implementation of process/thread in O/S. I am not sure if I understand 100% about the subject(s) (I probably need to revisit the clip again). One thing I don't get it is system process (pid = 4) and system idle process. How they are related and who got created first?
Thanks
This was great. I had been wondering how this worked for quite some time.
process management in windows vista i need to make a written project on this...plzz help...
Hi Arun,
Great video!!
I would like some clarifications on Terminate and SuspendThread - specifically when thread is executing in kernel.