当前位置:嗨网首页>书籍在线阅读

29-避免在锁中使用阻塞操作

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

11.10 避免在锁中使用阻塞操作

阻塞操作 阻塞了当前线程,直到终结阻塞的事件出现。典型的阻塞操作包括控制台操作、文件操作和网络I/O操作。

在锁的临界区中使用阻塞操作会降低应用程序的性能。当一个线程在等待阻塞操作的终结事件时,应用程序的其余线程可能也在等待相同的事件。但是这些线程都不能访问临界区并执行代码(临界区中的代码)。

本节针对这种情况将实现一个案例。线程进入临界区后,从控制台上读取一行。在有用户输入之前,该指令都将导致应用程序的其余线程被阻塞。