当前位置: 首页 > news >正文

兼职网站平台有哪些百度客服怎么转人工电话

兼职网站平台有哪些,百度客服怎么转人工电话,国家工程建设信息网站,dw做的网站volatile关键字介绍 volatile 是一个关键字,用于修饰变量,表示该变量是易变的,即可能在任何时候被意外地改变。在多线程编程中,当多个线程同时访问同一个变量时,由于线程之间的交互和优化,可能会导致变量的…

volatile关键字介绍

volatile 是一个关键字,用于修饰变量,表示该变量是易变的,即可能在任何时候被意外地改变。在多线程编程中,当多个线程同时访问同一个变量时,由于线程之间的交互和优化,可能会导致变量的值不一致或出现意外的行为。使用 volatile 关键字可以告诉编译器和处理器,在访问该变量时需要遵循一定的规则,以确保变量的可见性和一致性。

具体来说,volatile 关键字有以下几个作用:

禁止编译器对该变量进行优化,确保每次访问都从内存中读取最新的值
②防止编译器对该变量进行重排序优化,保证指令执行的顺序与程序中的顺序一致。
③保证不同线程之间对该变量的访问顺序与程序中的顺序一致。
(volatile 关键字只能保证单个变量的可见性和一致性,并不能解决多个变量之间的原子性操作问题。在需要保证多个变量操作的原子性时,可以使用其他的同步机制,如锁或原子类。)

volatile关键字解决实际问题案例

#include <stdio.h>
#include <signal.h>
int flag = 0;
void handler(int sig)
{printf("chage flag 0 to 1\n");flag = 1;
}
int main()
{signal(2, handler);while(!flag);printf("process quit normal\n");return 0;
}

执行结果(和预期不一致):

chage flag 0 to 1
process quit normal
  1. 问题原因:不加volatile关键字时,编译时未发现flag被修改(因为修改flag的语句不在main函数内,不一定会被执行),所以对flag变量进行了优化,进程运行时将flag变量直接加载到cpu寄存器上。 打印flag的语句也是直接使用寄存器上的flag值,但是实际上在内存中flag的值已经被改变了,但再次打印flag的值依然为程序开始时加载到寄存器上的flag值。

  2. 解决方法:使用 volatile关键字修饰flag变量,禁止编译器对flag变量进行优化。

  3. volatile解决问题关键字原理图:
    在这里插入图片描述

http://www.shuangfujiaoyu.com/news/30965.html

相关文章:

  • 网页设计企业网站设计的功能海外网站cdn加速
  • 如何看网站是用什么程序做的企业站seo案例分析
  • 微网站的建设模板有哪些最新资讯热点
  • 网站建站主题互联网推广销售
  • 山西建站推广东莞网络营销公司
  • 网站建设开票规格明细单位怎么写江苏网站开发
  • 用ps做美食网站网络服务网络推广
  • 私人让做彩票网站吗自己怎么优化我网站关键词
  • 网站上传图片加水印建站系统哪个好
  • 做网站的怎么办理营业执照关键词排名优化是什么意思
  • 秦皇岛哪家公司网站建设好百度推广客户端电脑版
  • win7 iis设置网站首页百度人工服务24小时电话
  • 庐江魅力网做网站号码网站seo诊断分析报告
  • 简历模板网站免费英文外链seo兼职
  • 塘厦东莞网站建设谷歌seo什么意思
  • 哪个网站做logo好乔拓云智能建站
  • 德州做网站的公司产品如何在网上推广
  • 怎么做最火的视频网站软文广告经典案例100字
  • 做网站的流程图营销策略ppt
  • 购物网站开发文献综述免费seo诊断
  • php 手机网站哪个网站做推广效果好
  • 音乐网站怎么做新东方在线koolearn
  • wordpress视频采集插件麒麟seo软件
  • 手机网站 像素seo是什么字
  • 企业动态网站开发周期seo软文是什么
  • 美观网站建设物美价廉收录提交入口
  • 网站效果图怎么做网络口碑营销名词解释
  • 网站建设与管理教学大纲微博推广方法有哪些
  • the7 做的网站nba体育新闻
  • 做个中英文网站多少钱武汉网站关键词推广