您好、欢迎来到现金彩票网!
当前位置:双彩网 > 先行指令站 >

charlyFeng

发布时间:2019-07-04 01:53 来源:未知 编辑:admin

  (1)lock(锁定):作用于主内存的变量,把一个变量标记为一条线)unlock(解锁):作用于主内存的变量,把一个处于锁定状态的变量释放出来,释放后的变量才可以被其他线)read(读取):作用于主内存的变量,把一个变量值从主内存传输到线程的工作内存中,以便随后的load动作 使用

  (4)load(载入):作用于工作内存的变量,它把read操作从主内存中得到的变量值放入工作内存的变量副本中

  (7)store(存储):作用于工作内存的变量,把工作内存中的一个变量的值传送到主内存中,以便随后的write的操作

  (8)write(写入):作用于主内存的变量,它把store操作从工作内存中的一个变量的值传送到主内存的变量中

  1、不允许read和load、store和write操作之一单独出现,即不允许一个变量从主内存读取了但工作内存不接

  3、不允许一个线程无原因地(没有发生过任何assign操作)把数据从线程的工作内存同步回主内存。

  4、一个新的变量只能在主内存中“诞生”,不允许在工作内存中直接使用一个未被初始化(load或assign)的变量,换句话说,就是对一个变量实施use、store操作之前,必须先执行过了assign和load操作。

  5、一个变量在同一时刻只允许一条线程对其进行lock操作,但lock操作可以被同一条线程重复执行多次,多次执行lock后,只有执行相同次数的unlock操作,变量才会被解锁。

  6、如果对一个变量执行lock操作,那将会清空工作内存中此变量的值,在执行引擎使用这个变量前,需要重新执行load或assign操作初始化变量的值。

  7、如果一个变量事先没有被lock操作锁定,那就不允许对它执行unlock操作,也不允许去unlock一个被其他线、对一个变量执行unlock操作之前,必须先把此变量同步回主内存中(执行store、write操作)。

  1.程序次序规则:同一个线程内,按照代码出现的顺序,前面的代码先行于后面的代码,准确的说是控制流顺

  重排序是指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段。

  编译器和处理器在重排序时,会遵守数据依赖性,编译器和处理器不会改变存在数据依赖关系的两个操作的执

  行顺序。(仅针对单个处理器中执行的指令序列和单个线程中执行的操作,不同处理器之间和不同线程之间的

  不管怎么重排序(编译器和处理器为了提高并行度),(单线程)程序的执行结果不能被改变。

http://deafbook.net/xianxingzhilingzhan/262.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有