`
javasalatu
  • 浏览: 785106 次
  • 性别: Icon_minigender_2
  • 来自: 北京
博客专栏
96df99eb-e89d-3228-9c8e-967fc745ec52
程序员的自我经营之道
浏览量:7914
文章分类
社区版块
存档分类
最新评论

Interlocked系列互锁函数

 
阅读更多
//增减
  (1) LONG InterlockedIncrement(IN OUT LONG volatile *lpAddend);
  lpAddend为长整型变量的地址,返回值为原始值。这个函数的主要作用是原子性自增(相当于++操作)。
  (2) LONG InterlockedDecrement(IN OUT LONG volatile *lpAddend);
  lpAddend为长整型变量的地址,返回值为原始值。这个函数的主要作用是原子性自减(相当于--操作)。
  (3) LONG InterlockedExchangeAdd ( LPLONG Addend, LONG Increment );
  Addend为长整型变量的地址,Increment为想要在Addend指向的长整型变量上增加的数值(可以是负数)。这个函数的主要作用是保证这个加操作为一个原子访问。
//交换
  (4) LONG InterlockedExchange( LPLONG Target, LONG Value );
  用第二个参数的值取代第一个参数指向的值。函数返回值为原始值。
  (5) PVOID InterlockedExchangePointer( PVOID *Target, PVOID Value );
  用第二个参数的值取代第一个参数指向的值。函数返回值为原始值。
//比较交换
  (6) LONG InterlockedCompareExchange(
  LPLONG Destination, LONG Exchange, LONG Comperand );
  如果第三个参数与第一个参数指向的值相同,那么用第二个参数取代第一个参数指向的值。函数返回值为原始值。
  (7) PVOID InterlockedCompareExchangePointer (
  PVOID *Destination, PVOID Exchange, PVOID Comperand );
  如果第三个参数与第一个参数指向的值相同,那么用第二个参数取代第一个参数指向的值。函数返回值为原始值。
分享到:
评论

相关推荐

    Thread Synchronization in User Mode

    为了解决这类问题,我们可以使用互锁函数(Interlocked functions)。这些函数提供原子操作,保证了在执行过程中不会被中断,从而避免了数据竞争。例如,`InterlockedExchangeAdd()` 函数会原子地将指定的增量与目标...

    howto_interlocked_circles_use_uncleess_zip_

    在多线程编程中,互锁操作(Interlocked Operations)是一种原子级别的操作,保证了在多处理器系统中,即使在中断和上下文切换的情况下,对共享数据的修改也是原子的,不会被其他线程打断。这些操作通常由操作系统或...

    MIPS插入排序递归与非递归程序及实验报告

    本文将深入探讨如何使用MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线级微处理器)架构来实现插入排序算法,包括递归和非递归两种方式,并结合实验报告来分析其性能和指令条数。...

    spram.rar_V2

    本篇文章将深入探讨“spram.rar_V2”这个压缩包文件所包含的MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线级微处理器)架构下的SPRAM(Static Random Access Memory,静态随机存取存储器...

    mips.rar_MIPS

    在IT领域,MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线级微处理器)是一种精简指令集计算机(RISC)架构,广泛应用于嵌入式系统设计。这个"MIPS.rar"压缩包中包含的是针对MIPS CPU实现...

    MIPS汇编编译器软件.7z

    MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线级的微处理器)是一种精简指令集计算机(RISC)架构,广泛应用于教学、嵌入式系统和某些高性能计算领域。MIPS汇编语言是针对这个架构设计的...

    C语言图形编辑器知识点

    - **MIPS**:Microprocessor without Interlocked Pipelined Stages(无互锁流水线阶段微处理器),也是一种RISC架构的处理器,在许多高性能计算和嵌入式系统中都有应用。 #### 四、C语言图形编辑器的应用场景 - **...

    MIPSsim(MIPS指令系统模拟器).zip

    MIPSsim是一款针对MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线级)指令系统的模拟软件,主要用于教学和学习环境。MIPS架构是一种广泛应用在学术界和工业界的精简指令集计算机(RISC)...

    MIPS Instruction Set.pdf

    MIPS代表“Microprocessor without Interlocked Pipeline Stages”,意指“无内部互锁流水线微处理器”,它是一种精简指令集计算(RISC)架构,以简化的设计和高效的流水线操作著称。 MIPS指令集架构中最显著的特点...

    hamilton.zip

    【描述】描述了这个压缩包中的主要内容:通过MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线阶段)汇编语言来实现哈密顿回路的检测算法。在计算领域,MIPS是一种精简指令集计算机架构,常...

    MIPS指令集(英文版本)

    MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水级微处理器)是一种精简指令集计算机(RISC)架构,广泛应用于嵌入式系统、教育和科研领域。MIPS指令集是其核心组成部分,它定义了处理器理解...

    mips编辑器

    MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线阶段微处理器)是一种精简指令集计算机(RISC)架构,广泛用于教学、研究和嵌入式系统设计。在IT领域,理解和掌握MIPS汇编语言是学习计算机...

    MIPS的32个通用寄存器的名称和用途详细资料概述-综合文档

    MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线阶段微处理器)是一种精简指令集计算机(RISC)架构,广泛用于教学、研究和嵌入式系统设计。在MIPS体系结构中,通用寄存器是CPU执行计算和...

    Mars4_5.jar_Mars4_5_Mars_Mars4.5_mars4_5软件_mars4_

    **Mars4_5.jar** 是一个用于学习和教授MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线阶段微处理器)汇编语言的软件工具,它被称为 **MARS**,全称为 **MIPS Assembler and Runtime ...

    mips资料大全.rar

    MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线级的微处理器)是一种精简指令集计算机(RISC)架构,广泛应用于教学、嵌入式系统和一些高性能计算领域。MIPS架构以其高效的指令执行、简单...

    lysDemo-mips-linux-gnu.tar.gz

    首先,"lysDemo-mips-linux-gnu"这个项目名称暗示了这是一个针对MIPS架构(Microprocessor without Interlocked Pipeline Stages,无互锁流水线级的微处理器)且兼容GNU工具链的Linux开发示例。GNU工具链是一系列...

    支持 45 条 MIPS 指令的单周期处理器 -- 计算机组成原理实验 NUAA Spring 2017.zip

    标题中的“支持 45 条 MIPS 指令的单周期处理器”指的是一个计算机组成原理实验项目,其中设计了一个能够执行 MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线阶段)指令集的处理器。...

    32位 MIPS CPU 单周期处理器(24条指令)

    在计算机科学领域,MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线级的微处理器)是一种广泛用于教学和研究的精简指令集计算机(RISC)架构。本项目聚焦于32位MIPS CPU的单周期处理器设计...

    mips汇编器(《计算机综合课程设计》汇编器部分)

    在《计算机综合课程设计》中,汇编器部分着重讲解了如何将32位MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线阶段的微处理器)指令集的汇编语言代码转换成可执行的机器码。这个过程涉及到...

    用python模拟的MIPS虚拟机

    Python模拟的MIPS虚拟机是一种基于Python编程语言构建的软件工具,用于理解并模拟MIPS(Microprocessor without Interlocked Pipeline Stages,无互锁流水线级)架构的计算机系统。MIPS是计算机科学中广泛使用的简化...

Global site tag (gtag.js) - Google Analytics