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

一个网站多个子域名优化怎样做网址有自己的模板

一个网站多个子域名优化,怎样做网址有自己的模板,互联网广告优化,企业网页设计尺寸程序是否线程安全#xff0c;取决于哪些要素呢#xff0c;主要是以下三个#xff1a;原子性#xff0c;可见性#xff0c;有序性。今天先一起来学习原子性。原子性#xff1a;我理解一个操作不可再分#xff0c;即为原子性。而在并发编程的环境中#xff0c;原子性的含…程序是否线程安全取决于哪些要素呢主要是以下三个原子性可见性有序性。今天先一起来学习原子性。原子性我理解一个操作不可再分即为原子性。而在并发编程的环境中原子性的含义就是只要该线程开始执行这一系列操作要么全部执行要么全部未执行不允许存在执行一半的情况。老生常谈的银行转账情况用于理解(仅限于理解真实的银行转账没这么简单)A账户向B账户转钱A账户转出1万元银行就必须保证B账户收到1万元即使有问题也必须保证是A账户转出失败钱还在A账户。不然A账户转了B账户却没收到银行的操作就不是原子性的客户的利益受到损失。谈及原子性问题需要先了解Java内存模型的基本情况为了执行效率java的内存被划分为工作内存与主内存(可类比为计算机的高速缓存与内存)如下图所示线程与工作内存和主内存工作内存中放着线程使用的主内存的拷贝。线程对变量的操作必须通过工作内存进行而不能直接访问主内存工作内存直接相互独立。内存模型中还定义了八种原子的操作指令供程序使用如下所示-----内容参考《深入理解java虚拟机》----beginlock(锁定)作用于主内存它把一个变量标记为一条线程独占状态read(读取)作用于主内存它把变量值从主内存传送到线程的工作内存中以便随后的load动作使用load(载入)作用于工作内存它把read操作的值放入工作内存中的变量副本中use(使用)作用于工作内存它把工作内存中的值传递给执行引擎每当虚拟机遇到一个需要使用这个变量的指令时候将会执行这个动作assign(赋值)作用于工作内存它把从执行引擎获取的值赋值给工作内存中的变量每当虚拟机遇到一个给变量赋值的指令时候执行该操作store(存储)作用于工作内存它把工作内存中的一个变量传送给主内存中以备随后的write操作使用write(写入)作用于主内存它把store传送值放到主内存中的变量中。unlock(解锁)作用于主内存它将一个处于锁定状态的变量释放出来释放后的变量才能够被其他线程锁定Java内存模型还规定了执行上述8种基本操作时必须满足如下规则:1、不允许read和load、store和write操作之一单独出现(即不允许一个变量从主存读取了但是工作内存不接受或者从工作内存发起会写了但是主存不接受的情况)以上两个操作必须按顺序执行但没有保证必须连续执行也就是说read与load之间、store与write之间是可插入其他指令的。2、不允许一个线程丢弃它的最近的assign操作即变量在工作内存中改变了之后必须把该变化同步回主内存。3、不允许一个线程无原因地(没有发生过任何assign操作)把数据从线程的工作内存同步回主内存中。4、一个新的变量只能从主内存中“诞生”不允许在工作内存中直接使用一个未被初始化(load或assign)的变量换句话说就是对一个变量实施use和store操作之前必须先执行过了assign和load操作。5、一个变量在同一个时刻只允许一条线程对其执行lock操作但lock操作可以被同一个条线程重复执行多次多次执行lock后只有执行相同次数的unlock操作变量才会被解锁。6、如果对一个变量执行lock操作将会清空工作内存中此变量的值在执行引擎使用这个变量前需要重新执行load或assign操作初始化变量的值。7、如果一个变量实现没有被lock操作锁定则不允许对它执行unlock操作也不允许去unlock一个被其他线程锁定的变量。8、对一个变量执行unlock操作之前必须先把此变量同步回主内存(执行store和write操作)。-----内容参考《深入理解java虚拟机》----end因此我们写了一个程序就很容易判断是否是具备原子性的如下所示:int x 10; //语句1long y100;//语句2int z x; //语句3x; //语句4z z 1; //语句5volatile int a0;ax;//语句6语句1只执行了assign语句将10赋给工作内存中的x原子的。语句2由于long类型为64位的java可能会出现写两次32位数据到工作内存的情况导致操作是非原子的(几乎所有虚拟机都对这种操作进行了封装使其变为和原子操作)语句3use获取x的值再assign赋值给z非原子的。语句4user获取x的值加1在assign赋值给x非原子的。语句5user获取z的值加1在assign赋值给z非原子的。语句6use获取x的值assign赋值给a并且马上store将a的新值存储到主内存中并将其他工作线程中的a值失效非原子的。 如果其他线程要获取a的值需要对应的工作内存重新从主内存中获取(volatile的可见性原理)。感兴趣的小伙伴欢迎关注我的公众号:暖爸的java家园
http://www.zqtcl.cn/news/822990/

相关文章:

  • 网站首页改版方案长图制作网站
  • 网站的栏目有什么名字保定网络公司网站
  • 南京建设机械网站建设银行网站解除绑定
  • 厚街公司网站建设wordpress发邮件更新
  • wap网站制作网络设计公司经营范围
  • 织梦网站被做跳转还被删除文件第三方电子商务平台有哪些
  • 财经网站源码 织梦游戏ui培训
  • 石家庄站布局图网站建设公司怎么
  • 电商网站建设选迅法网东莞系统网站建设
  • 网站栏目 英文wordpress 情侣
  • 济南市历下区建设局官方网站wordpress 作者页
  • 武进建设银行网站首页大型网站建设哪家快
  • 做网站用vs怎么自己写代码做网站
  • 网站建设产品需求文档技术培训学校机构
  • 简单个人网站源码石景山网站seo优化排名
  • 用花生做网站房地产电子商务的网站建设
  • 宁波网站建设团队sem竞价托管多少钱
  • 工艺品东莞网站建设营销助手app
  • 怎么添加网站 多少钱wordpress 在线教育模板
  • 做鞋的垂直网站小型购物网站模板
  • 石家庄公司网站建设网站建设技术难点
  • 阿里云能放企业网站吗建设网站的建设费用包括什么
  • 网站对公司的作用是什么初学者学做网站用什么软件
  • 网站的建设模式高校后勤网站建设要求
  • 网站的导航栏怎么做的网站seo诊断报告怎么写
  • elementui 做的网站写网站编程需要什么
  • 一站式网站建设顾问小程序小游戏开发
  • 网站导航html网站开发从哪开始学
  • 成立网站是不是需要先成立公司上海今天新闻发布会直播
  • 企业只有建立了自己的网站网站建设骗子