CSE681 - Software Modeling and Analysis

Lecture #10 - Processes and Threads

Revised: 16 June 2007
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 Windows Forms DotNetJunkies GotDotNet C# Corner Mono Project

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. Process diagram
  5. Win32 Process Creation
  6. .Net Process Creation
  7. Why threads? demo
  8. Win32 Threads Presentation
  9. .Net Threads Presentation
  10. Queued Messages
  11. Queued Messages with synchronized methods
  12. Blocking Queue
  13. Threaded Mediator
  14. Thread Problems
  15. Synchronization
  16. .Net FormInvoke Demo
  17. ThreadPool Demo
  18. Form's BackgroundWorker
  19. .Net Worker Thread
  20. Abstract Task Model