官术网_书友最值得收藏!

The with statement in concurrent programming

Obviously, opening and closing external files does not resemble concurrency very much. However, we mentioned earlier that the with statement, as a context manager, is not only used to manage file descriptors, but most resources in general. And if you actually found managing lock objects from the threading.Lock() class similar to managing external files while going through Chapter 2, Amdahl's Law, then this is where the comparison between the two comes in handy.

As a refresher, locks are mechanisms in concurrent and parallel programming that are typically used to synchronize threads in a multithreaded application (that is, to prevent more than one thread from accessing the critical session simultaneously). However, as we will discuss again in Chapter 12, Starvation, locks are also a common source of deadlock, during which a thread acquires a lock but never releases it because of an unhandled occurrence, thereby stopping the entire program.

主站蜘蛛池模板: 西畴县| 沧州市| 营山县| 高雄县| 包头市| 万宁市| 合山市| 丰宁| 富蕴县| 德令哈市| 通河县| 鄂托克旗| 惠来县| 德庆县| 治多县| 南雄市| 德兴市| 阳新县| 贞丰县| 南靖县| 抚顺县| 玉门市| 阆中市| 漳州市| 山丹县| 保山市| 六枝特区| 镇坪县| 蓬莱市| 安义县| 大荔县| 丰顺县| 江山市| 台南县| 万州区| 和田县| 信丰县| 泾阳县| 长宁区| 金塔县| 化德县|