Everything about Critical section
Protected section of code that cannot be executed by more than one process at a time
In concurrent programming, concurrent accesses to shared resources can lead to unexpected or erroneous behavior. Thus, the parts of the program where the shared resource is accessed need to be protected in ways that avoid the concurrent access. One way to do so is known as a critical section or critical region. This protected section cannot be entered by more than one process or thread at a time; others are suspended until the first leaves the critical section. Typically, the critical section accesses a shared resource, such as a data structure, peripheral device, or network connection, that would not operate correctly in the context of multiple concurrent accesses. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Critical sectionA 5-minute orientation
- Skim a recent paper: Critical bistability in variable cross-section metamaterials: PINN-driven transient stress recognition and adaptive energy dissipationInfluential work since 2022
- Pick up a classic book: Dress Your Family in Corduroy and DenimThe most-reprinted book on the subject
- Read the landmark paper: Critical response to Special Section: international academic mobilityCited 43 times
- Go sideways: Mutual exclusionA closely related topic
- Go sideways: Synchronization (computer science)A closely related topic
📖 Definitions
Noun A piece of code that accesses a shared resource that must not be concurrently accessed by more than one thread of execution.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Critical response to Special Section: international academic mobility
Critical Theory of Communication Technology: Introduction to the Special Section
Unstable aerodynamic phenomena of a rectangular cylinder with critical section
Critical analysis of soft X-ray cross section data
Accelerating critical section execution with asymmetric multi-core architectures
Accelerating Critical Section Execution with Asymmetric Multicore Architectures
Accelerating critical section execution with asymmetric multi-core architectures
On the family of critical section problems
🆕 Influential since 2022
Critical bistability in variable cross-section metamaterials: PINN-driven transient stress recognition and adaptive energy dissipation
A critical review on the thermal performance of alternating cross-section tubes
Buckling and critical temperatures of restrained H-section steel columns in fire considering dynamic effect
Critical temperature of laterally unrestrained steel plate girders with slender section
Planning with Critical Section Macros: Theory and Practice
📚 Books worth reading
Dress Your Family in Corduroy and DenimDavid Sedaris · 2004
El lenguaje de la pasiónMario Vargas Llosa · 2001
The great comic book heroesJules Feiffer · 1965- 📕Reviewing the ArtsCampbell B. Titchener · 1988
Emergency Cross-sectional RadiologyDaniel Y. F. Chung, Dipanjali Mondal · 2012
Nobody's PerfectAnthony Lane · 2002
The metropolitan criticClive James · 1974
A descoberta do mundoClarice Lispector · 1984
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Mutual exclusion In computer science, mutual exclusion is a property of concurrency control, which is instituted for the purpose of preventing race conditions. It is the…
- Synchronization (computer science) In computer science, synchronization is the task of coordinating multiple processes to join up or handshake at a certain point, in order to reach an agreement…
- Readers–writers problem In computer science, the readers–writers problems are examples of a common computing problem in concurrency. There are at least three variations of the…
- Peterson's algorithm Peterson's algorithm (or Peterson's solution) is a concurrent programming algorithm for mutual exclusion that allows two or more processes to share a single-use…
- Real-time operating system A real-time operating system (RTOS) is an operating system (OS) for real-time computing applications that processes data and events that have critically…
- Semaphore (programming) In computer science, a semaphore is a synchronization device used to control access to a common resource by multiple threads or processes in a concurrent…
- Lock (computer science) In computer science, a lock or mutex (from mutual exclusion) is a synchronization primitive that prevents state from being modified or accessed by multiple…
- Monitor (synchronization) In concurrent programming, a monitor is a synchronization construct that prevents threads from concurrently accessing a shared object's state and allows…