110 likes | 173 Views
Introduction to Threading. Silicon Valley Code Camp 2007. Pre-emptive Multitasking OS. Processes and Threads. Context Switching. Demo. Context Switching and Time Slices. Single Processor. Ain’t going to happen!. Context Switching and Time Slices. Single Processor.
E N D
Introduction to Threading Silicon Valley Code Camp 2007 Kim Greenlee: Silicon Valley Code Camp 2007
Pre-emptive Multitasking OS Kim Greenlee: Silicon Valley Code Camp 2007
Processes and Threads Kim Greenlee: Silicon Valley Code Camp 2007
Context Switching Demo Kim Greenlee: Silicon Valley Code Camp 2007
Context Switching and Time Slices Single Processor Ain’t going to happen! Kim Greenlee: Silicon Valley Code Camp 2007
Context Switching and Time Slices Single Processor Kim Greenlee: Silicon Valley Code Camp 2007
Context Switching and Time Slices Dual Processor Kim Greenlee: Silicon Valley Code Camp 2007
Success with threading • Protect your code and data • Locking • Synchronization • Etc… • Know your tools and application stack • Disassembly Window • Thread Window • Etc… Kim Greenlee: Silicon Valley Code Camp 2007
Success with Threading Demos Kim Greenlee: Silicon Valley Code Camp 2007
Tips & Tricks • Implementation Plan • Plan for Problems • Log files (herding cats) • Map/PDB files and Minidumps • Testing Strategies • Debug mode in/out of debugger • Release mode • Single and Multiprocessor testing • Train testers Kim Greenlee: Silicon Valley Code Camp 2007
Further Reading • “Threading in C#” – Joseph Albahari http://www.albahari.com/threading/ • “Using concurrency for scalability” – Joe Duffy http://msdn.microsoft.com/msdnmag/issues/06/09/CLRInsideOut/ • “What Every Dev Must Know About Multithreaded Apps” – Vance Morrison http://msdn.microsoft.com/msdnmag/issues/05/08/Concurrency/ • “Concurrency and the Impact on Reusable Libraries” – Joe Duffy http://www.bluebytesoftware.com/blog/PermaLink,guid,f8404ab3-e3e6-4933-a5bc-b69348deedba.aspx Available on the Wiki Kim Greenlee: Silicon Valley Code Camp 2007