CSE681 - Software Modeling and Analysis

Lecture #10 - Processes and Threads

Revised: 21 June 2009
Home Courses Code Handouts CoreTech Books Articles Math Research Masters Projects SWDev WebDev News OtherLinks SiteDesign Graduates AllPages Office Hours Notices Contents

CSE681-SWMAA CSE686-IP CSE687-OOD CSE775-DO CSE776-DP CSE778-AWP CSE784-SWS

Lecture #01 Lecture #02 Lecture #03 Lecture #04 Lecture #05 Lecture #06 Lecture #07
Lecture #08 Lecture #09 Lecture #10 Lecture #11 Lecture #12 Lecture #13 Lecture #14
Lecture #15 Lecture #16 Lecture #17 Lecture #18 Lecture #19 Lecture #20 Other Notes

Contents Syllabus

Web Resources:

UML XML, HTML Code Project Microsoft Developer's Network DevelopMentor XML Sells Brothers Windows Developer's Journal WindowsClient.net DotNetJunkies dotnet quickstart tutorials C# Corner Mono Project Performance Counters

Office Hours: Instructor & TAs

Content:

This lecture is an introduction to processes and threads from both the Win32 and the .Net perspectives. Today we talk about creating processes, creating and using threads, thread safety, and we give a lot of code examples.
  1. The Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. For anyone who is still struggling to get Project #1 together, I've put a prototype in cse681/code/CodeGenPrototype.
  3. Project #3, Project #4
  4. WCF File Streaming Demo
  5. Process diagram
  6. Win32 Process Creation
  7. .Net Process Creation
  8. Why threads? demo
  9. Win32 Threads Presentation
  10. .Net Threads Presentation
  11. Queued Messages
  12. Queued Messages with synchronized methods
  13. Blocking Queue
  14. Threaded Mediator
  15. Thread Problems
  16. Synchronization
  17. .Net FormInvoke Demo
  18. ThreadPool Demo
  19. Form's BackgroundWorker
  20. .Net Worker Thread
  21. Abstract Task Model