Knowledge

Blocking (computing)

Source 📝

228: 97:
are designed to minimize the over-all effect of blocking. A process that blocks may prevent local work-tasks from progressing. In this case "blocking" often is seen as not wanted. However, such work-tasks may instead have been assigned to independent processes, where halting one has little to no
87:
are used to prevent this concurrent use. When the other task is blocked, it is unable to execute until the first task has finished using the shared resource.
269: 189: 83:
When one task is using a resource, it is generally not possible, or desirable, for another task to access it. The techniques of
293: 116:
means that processes pathologically wait for each other in a circle. As such it is not directly associated with blocking.
262: 174: 110:) is part of the semantics of channels. Correctly engineered, any of these may be used to implement reactive systems. 308: 303: 288: 255: 113: 50:. Once the event occurs for which the process is waiting ("is blocked on"), the process is advanced from 43: 103: 145: 135: 243: 298: 99: 65: 125: 94: 90: 8: 205: 140: 73: 31: 170: 51: 39: 235: 98:
effect on the others, since scheduling will continue. An example is "blocking on a
84: 69: 58: 130: 77: 239: 282: 227: 54: 47: 20: 107: 211: 27: 201: 80:
include: the CPU, network and network interfaces, memory and disk.
102:" where passively waiting for the other part (i.e. no 190:C++ and Beyond 2012: Herb Sutter - C++ Concurrency 167:Operating Systems: Internals and Design Principles 19:For the memory-access optimization technique, see 280: 263: 46:becoming available or the completion of an 270: 256: 76:, must share the resources of the system. 164: 281: 222: 13: 14: 320: 226: 169:(5th ed.). Prentice Hall. 194: 183: 158: 1: 151: 16:State for a computing process 242:. You can help Knowledge by 214:2012. Google for Developers. 68:computer system, individual 57:to an imminent one, such as 7: 294:Inter-process communication 165:Stallings, William (2004). 119: 10: 325: 221: 18: 207:Go Concurrency Patterns 309:Operating system stubs 304:Scheduling (computing) 238:-related article is a 146:Scheduling (computing) 136:Non-blocking algorithm 289:Computing terminology 95:scheduling algorithms 91:Programming languages 126:Concurrent computing 74:threads of execution 38:is waiting for some 251: 250: 316: 272: 265: 258: 236:operating-system 230: 223: 216: 215: 198: 192: 187: 181: 180: 162: 85:mutual exclusion 78:Shared resources 324: 323: 319: 318: 317: 315: 314: 313: 279: 278: 277: 276: 220: 219: 200: 199: 195: 188: 184: 177: 163: 159: 154: 131:Data dependency 122: 24: 17: 12: 11: 5: 322: 312: 311: 306: 301: 296: 291: 275: 274: 267: 260: 252: 249: 248: 231: 218: 217: 204:(2012-07-02). 193: 182: 176:978-0131479548 175: 156: 155: 153: 150: 149: 148: 143: 141:Race condition 138: 133: 128: 121: 118: 15: 9: 6: 4: 3: 2: 321: 310: 307: 305: 302: 300: 297: 295: 292: 290: 287: 286: 284: 273: 268: 266: 261: 259: 254: 253: 247: 245: 241: 237: 232: 229: 225: 224: 213: 209: 208: 203: 197: 191: 186: 178: 172: 168: 161: 157: 147: 144: 142: 139: 137: 134: 132: 129: 127: 124: 123: 117: 115: 111: 109: 105: 101: 96: 92: 88: 86: 81: 79: 75: 71: 67: 62: 60: 56: 53: 49: 48:I/O operation 45: 41: 37: 33: 29: 22: 21:loop blocking 299:Input/output 244:expanding it 233: 206: 196: 185: 166: 160: 112: 89: 82: 66:multitasking 63: 42:, such as a 35: 25: 283:Categories 212:Google I/O 152:References 108:spin loop 28:computing 202:Rob Pike 120:See also 114:Deadlock 59:runnable 44:resource 34:that is 104:polling 100:channel 52:blocked 36:blocked 32:process 173:  234:This 72:, or 70:tasks 64:In a 55:state 40:event 240:stub 171:ISBN 93:and 30:, a 106:or 26:In 285:: 210:. 61:. 271:e 264:t 257:v 246:. 179:. 23:.

Index

loop blocking
computing
process
event
resource
I/O operation
blocked
state
runnable
multitasking
tasks
threads of execution
Shared resources
mutual exclusion
Programming languages
scheduling algorithms
channel
polling
spin loop
Deadlock
Concurrent computing
Data dependency
Non-blocking algorithm
Race condition
Scheduling (computing)
ISBN
978-0131479548
C++ and Beyond 2012: Herb Sutter - C++ Concurrency
Rob Pike
Go Concurrency Patterns

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.