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

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.

主站蜘蛛池模板: 北海市| 西和县| 青阳县| 尉氏县| 惠安县| 连江县| 常山县| 宿松县| 区。| 大理市| 习水县| 张家川| 普兰县| 当阳市| 佳木斯市| 出国| 阿拉善右旗| 南阳市| 镶黄旗| 耿马| 永新县| 枣强县| 潜江市| 土默特左旗| 沙坪坝区| 子洲县| 绥德县| 四子王旗| 满洲里市| 绥宁县| 盐池县| 高密市| 晋江市| 茌平县| 新津县| 墨竹工卡县| 乐安县| 绥宁县| 溆浦县| 个旧市| 民县|