• linux 自旋锁 API 简介


    自旋锁原语要求的包含文件是 <linux/spinlock.h>. 一个实际的锁有类型 spinlock_t. 象任何其他数据结构, 一个 自旋锁必须初始化. 这个初始化可以在编译时完成, 如下:

    spinlock_t my_lock = SPIN_LOCK_UNLOCKED; 或者在运行时使用:

    void spin_lock_init(spinlock_t *lock); 在进入一个临界区前, 你的代码必须获得需要的 lock , 用: void spin_lock(spinlock_t *lock);

    注意所有的自旋锁等待是, 由于它们的特性, 不可中断的. 一旦你调用 spin_lock, 你将 自旋直到锁变为可用.

    为释放一个你已获得的锁, 传递它给: void spin_unlock(spinlock_t *lock);

    有很多其他的自旋锁函数, 我们将很快都看到. 但是没有一个背离上面列出的函数所展示 的核心概念. 除了加锁和释放, 没有什么可对一个锁所作的. 但是, 有几个规则关于你必 须如何使用自旋锁. 我们将用一点时间来看这些, 在进入完整的自旋锁接口之前.

  • 相关阅读:
    jQuery——能够编辑的表格
    最简单的Windows程序
    数据库分页查询
    Srvctl命令具体解释(10g)
    AT3912 Antennas on Tree
    使用GenericServlet实例
    Servlet接口、GenericServlet类、HttpServlet类
    Servlet简介
    MVC
    为JSP写的一套核心标签
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11141683.html
Copyright © 2020-2023  润新知