线程之间的同步技术
当您创建线程安全但仍受益于在线程之间共享数据或资源的代码时,编程的最重要方面将成为同步线程的能力。
同步是两个或两个以上线程的协作行为,确保每个线程在继续之前达到与其他线程相关的已知操作点。 尝试在不正确使用同步的情况下共享资源是损坏应用程序数据的最常见原因。
通常,同步两个线程涉及使用一个或多个同步原语。 同步基元是低级函数或应用程序对象(而不是 IBM i 对象),您的应用程序使用或创建这些基元来提供应用程序所需的同步行为。
以下是按计算成本最低到最高的顺序排列的最常见同步原语:
- 比较和交换
- 互斥 (互斥) 和线程
- 信号和线程
- 条件变量和线程
- 作为同步原语的线程
- 空间位置锁定
- 对象锁定
这些概念与所有编程语言相关。 要确定每种语言如何启用这些概念,请参阅信息中心中的 语言 主题以了解特定语言。