Lectures
- 1. Introduction
- 2. C and C++ Data Types
- 3. Structs, Arrays, Pointers
- 4. Generics, Swapping Pointers, Generic Linear Search
- 5. Comparison Function, C Data Structures
- 6. Stack Implementation
- 7. Stack Implementation (cont)
- 8. Heap Management
- 9. Assembly Instructions
- 10. Activation Records
- 11. C++ Code Generation
- 12. Preprocessing Commands
- 13. Compilation Process
- 14. Sequential Programming Vs. Concurrent Programming
- 15. Concurrent Programming, Semaphore
- 16. Semaphore Usage
- 17. Dining Philosopher Problem, Threading
- 18. Ice Cream Store Problem
- 19. Functional paradigm, Scheme programming language
- 20. Scheme, Flatten Function
- 21. Kawa Development Environment, Mapping Functions
- 22. Lambda Mapping Function, Permutation Function
- 23. Scheme Memory Model
- 24. Python
- 25. Python dictionary
- 26. XML and Python
- 27. Haskell programming language
Programming Paradigms - Lecture 16
|
Get the Flash Player to view video.
Lecture 16 - Semaphore Usage
Review of Semaphore Syntax, Semaphoresignal and Semaphorewait, Semaphore Usage in the Multithreaded Selltickets Function (Protecting a Critical Region), Example of a Race Conditions Where Two Ticket agents Sell the Same Ticket, How the Stack and Various Registers are Saved When the Currently Running Thread Is Swapped, Another Example Using Semaphores that Models the internet, Implementations of a Reader and Writer Thread, Potential Dangers When the Two Threads Run Without Protection, Using a Fullbuffer Semaphore and an Emptybuffer Semaphore To Ensure that Neither Thread Outpaces the Other, Different Semaphore Patterns - Binary Lock Vs. Rendezvous, Effect of Changing the Starting Values of the Emptybuffers and Fullbuffers Semaphore, How To Detect Deadlock, Changes in the Thread Synchornization When Using Multiple Readers and Writers, Dining Philosopher Problem - Modeling Each Philosopher as a Thread, How Deadlock Can Result, How the Deadlock Can be Eliminated by Limiting the Number of Philosophers that Can Eat at Once
Prof. Jerry Cain
CS107 Programming Paradigms (Stanford University: Stanford Engineering Everywhere) http://see.stanford.edu Date accessed: 2009-05-09 License: Creative Commons Attribution 3.0 |


