php做网站怎么布局wordpress node.js

news/2025/9/22 17:19:13/文章来源:
php做网站怎么布局,wordpress node.js,加强门户网站建设的通知,相亲网站如何做概述本文大部分整理自《Java并发编程的艺术》#xff0c;温故而知新#xff0c;加深对基础的理解程度。指令序列的重排序我们在编写代码的时候#xff0c;通常自上而下编写#xff0c;那么希望执行的顺序#xff0c;理论上也是逐步串行执行#xff0c;但是为了提高性能温故而知新加深对基础的理解程度。指令序列的重排序我们在编写代码的时候通常自上而下编写那么希望执行的顺序理论上也是逐步串行执行但是为了提高性能编译器和处理器常常会对指令做重排序。1) 编译器优化的重排序。编译器在不改变单线程程序语义的前提下可以重新安排语句的执行顺序。2) 指令级并行的重排序。现代处理器采用了指令级并行技术来将多条指令重叠执行。如果不存在数据依赖性处理器可以改变语句对应机器指令的执行顺序。3) 内存系统的重排序。由于处理器使用缓存和读/写缓冲区这使得加载和存储操作看上去可能是在乱序执行。从Java源代码到最终实际执行的指令序列会分别经历下面3种重排序happens-before语义从JDK 5开始Java使用新的内存模型使用happens-before的概念来阐述操作之间的内存可见性。那到底什么是happens-before呢在JMM中如果一个操作执行的结果需要对另一个操作可见那么这两个操作之间必须要存在happens-before关系这里提到的两个操作既可以是在一个线程之内也可以是在不同线程之间。happens-before规则如下程序顺序规则 对于单个线程中的每个操作前继操作happens-before于该线程中的任意后续操作。监视器锁规则 对一个锁的解锁happens-before于随后对这个锁的加锁。volatile变量规则 对一个volatile域的写happens-before于任意后续对这个volatile域的读。传递性 如果A happens-before B且B happens-before C那么A happens-before C。注意两个操作之间具有happens-before关系并不意味着前一个操作必须要在后一个操作之前执行happens-before仅仅要求前一个操作(执行的结果)对后一个操作可见且前一个操作按顺序排在第二个操作之前。happens-before与JMM的关系如图所示如图所示一个happens-before规则对应于一个或多个编译器和处理器重排序规则。重排序重排序指的是编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段。如果两个操作访问同一个变量且这两个操作中有一个为写操作此时这两个操作之间就存在数据依赖性。数据依赖分为下列3种类型上面情况只要重排序两个操作的执行顺序程序的执行结果就会被改变。而编译器和处理器可能会对操作做重排序但是编译器和处理器在重排序时会遵守数据依赖性编译器和处理器不会改变存在数据依赖关系的两个操作的执行顺序。注意这里所说的数据依赖性仅针对单个处理器中执行的指令序列和单个线程中执行的操作不同处理器之间和不同线程之间的数据依赖性不被编译器和处理器考虑。as-if-serial语义as-if-serial语义的意思是不管怎么重排序单线程程序的执行结果不能被改变。编译器、runtime和处理器都必须遵守as-if-serial语义。所以编译器和处理器不会对存在数据依赖关系的操作做重排序因为这种重排序会改变执行结果。但是如果操作之间不存在数据依赖关系这些操作就可能被编译器和处理器重排序。下面还是以书中的实例(计算圆的面积)进行说明double pi 3.14;// Adouble r 1.0;// Bdouble area pi * r * r; // C上面3个操作的数据依赖关系如图所示A和C之间存在数据依赖关系同时B和C之间也存在数据依赖关系。因此在最终执行的指令序列中C不能被重排序到A和B的前面(因为C排到A和B的前面程序的结果将会被改变)。但A和B之间没有数据依赖关系编译器和处理器可以重排序A和B之间的执行顺序。该程序的两种可能执行顺序as-if-serial语义把单线程程序保护了起来遵守as-if-serial语义的编译器、runtime和处理器共同为编写单线程程序的程序员创建了一个幻觉单线程程序是按程序的顺序来执行的。程序顺序规则根据happens-before的程序顺序规则上面计算圆的面积的示例代码存在3个happens-before关系。1) A happens-before B。2) B happens-before C。3) A happens-before C。而这里的第3个happens-before关系是根据happens-before的传递性推导出来的。注意这里A happens-before B但实际执行时B却可以排在A之前执行JMM并不要求A一定要在B之前执行。JMM仅仅要求前一个操作(执行的结果)对后一个操作可见且前一个操作按顺序排在第二个操作之前。这里操作A的执行结果不需要对操作B可见而且重排序操作A和操作B后的执行结果与操作A和操作B按happens-before顺序执行的结果一致。在这种情况下JMM会认为这种重排序并不非法JMM允许这种重排序。重排序对多线程的影响重排序是否会改变多线程程序的执行结果还是借用书中的一个例子class ReorderExample {int a 0;boolean flag false;public void writer() {a 1; // 1flag true; // 2}public void reader() {if (flag) { // 3int i a * a; // 4}}}flag变量是个标记用来标识变量a是否已被写入。这里假设有两个线程A和BA首先执行writer()方法随后B线程接着执行reader()方法。线程B在执行操作4时能否看到线程A在操作1对共享变量a的写入呢答案是不一定能看到。由于操作1和操作2没有数据依赖关系编译器和处理器可以对这两个操作重排序同样操作3和操作4没有数据依赖关系编译器和处理器也可以对这两个操作重排序。当操作1和操作2重排序时可能会产生什么效果(虚箭线标识错误的读操作用实箭线标识正确的读操作。)如图所示操作1和操作2做了重排序。程序执行时线程A首先写标记变量flag随后线程B读这个变量。由于条件判断为真线程B将读取变量a。此时变量a还没有被线程A写入在这里多线程程序的语义被重排序破坏了当操作3和操作4重排序时会产生什么效果。下面是操作3和操作4重排序后程序执行的时序图在程序中操作3和操作4存在控制依赖关系。当代码中存在控制依赖性时会影响指令序列执行的并行度。为此编译器和处理器会采用猜测执行来克服控制相关性对并行度的影响。以处理器的猜测执行为例执行线程B的处理器可以提前读取并计算a*a然后把计算结果临时保存到一个名为重排序缓冲的硬件缓存中。当操作3的条件判断为真时就把该计算结果写入变量i中。猜测执行实质上对操作3和4做了重排序在这里重排序破坏了多线程程序的语义注意在单线程程序中对存在控制依赖的操作重排序不会改变执行结果。在多线程程序中对存在控制依赖的操作重排序可能会改变程序的执行结果。参考《Java并发编程的艺术》以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人网站做商城网站宽度设计

作者 | 磊哥来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)Nacos 是 Spring Cloud Alibaba 中一个重要的组成部分,它提供了两个重要的功能:服务注册与发现和统一…

国内高清视频素材网站推荐企业网站首页开发

题目 水题系列。给出一个图,求他的连通分量。 科普:连通分量就是一个图中可以连接最多点的子图(可以是它本身)的点数量。 输入 5(点的数量) 1 2(表示1和2连通) 3 4 2 3 0 0(表示停止输入) 输出 4 解题思路 Er…这道题没…

网站建设海报设计网店装修

Python 基本操作 (赋值、分支及循环语句、使用 import 导入库); Python 的 With 语句 ; NumPy ,Python 下常用的科学计算库。TensorFlow 与之结合紧密; 向量 和 矩阵 运算(矩阵的加减法、矩阵…

004_元组操作

1、定义元组 my_cars = "红旗", "五菱宏光", "雅迪" # 元组是用逗号识别的 print(my_cars) cars = ("奔驰", "宝马", "奥迪") print(cars)2、元组不可修…

个人作业-第二次软件工程作业

软件工程第二次作业课程 软件工程作业要求 个人编程作业的目标 实现一个论文查重程序,规范软件开发流程,熟悉Github进行源代码管理和学习软件测试GitHub仓库 https://github.com/chendongkai2004/3123004433一、PSP表…

代码流水线

取址,分析,执行 取址 根据PC内容访问主存储器,取出一条指令送到IR中 分析 对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并从有效地址EA中取出操作数 执行 根据操作码字段,…

自学网站有哪些自学网关键词优化公司排名

前言 当你的应用程序需要一个快速、可扩展的内存数据库时,Redis是一个非常流行的选择。通过将Redis与Spring Boot集成,你可以轻松地利用Redis的功能,例如缓存、会话存储和消息队列等,从而提升应用程序的性能和可伸缩性。 在本教…

洛谷题单指南-进阶数论-P1516 青蛙的约会

原题链接:https://www.luogu.com.cn/problem/P1516 题意解读:长L的环形数轴,初始A在x坐标、一次跳m米,B在y坐标、一次跳n米,问最少跳几次AB相遇。 解题思路: 1、欧几里得算法 欧几里得算法(Euclidean Algorithm…

electron中的几个概念

这里记录一下,学习用┌─────────────────────────────────────────┐│ 主进程 (Main Process) ││ - main.js ││ …

仿网站wordpress 整合ckplayer

前言 JSON 平时大家都会用到,都不陌生,今天就一起来实现一个 JSON 的可视化工具。 大概长成下面的样子: 树展示 相比于现有的一些 JSON 格式化工具,我们今天制作的这个小工具会把 JSON 转为树去表示。其中: 橙色标…

电子商务网站建设阶段连云港网站建设推广

MySQL:Explain执行计划 使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。 认识explain EXPLAIN SELECT * FROM user_info i LEFT JOIN user_grade g on i.id …

网站推广塔山双喜wordpress评论qq

计算机是现代社会中不可或缺的工具,而CPU(中央处理器)则是计算机的核心组件。CPU负责执行指令和控制计算机的各种操作,它的性能直接影响着计算机的速度和效率。 1. CPU的基本结构 CPU通常由以下几个主要组成部分构成&#xff1a…

外贸网站推广策划wordpress墨客吧

一、什么是Hooks函数? 想象一下,你在做饭,有一些调料你经常会用到,比如盐、酱油和辣椒。每次做饭时,你都会从柜子里拿出这些调料。如果你每次用完都把它们随便放在厨房的某个角落,下次做饭时就可能找不到它…

学校网站怎么做的好坏浙江网架公司

v-viewer简介 v-viewer 是一个 Vue 组件&#xff0c;用于显示图片和其他媒体内容的全屏查看器。它基于 Viewer.js&#xff0c;一个强大的图片查看库。 以下是一个基本的使用示例&#xff1a; <template><div v-viewer><img src"image1.jpg" />&…

做维修家具广告在哪个网站好北京市网站维护公司

初识国际化和ResourceBundle这个类主要用来解决国际化和本地化问题。国际化和本地化可不是两个概念&#xff0c;两者都是一起出现的。可以说&#xff0c;国际化的目的就是为了实现本地化&#xff0c;详细的介绍可以看本文的最后。比如对于“取消”&#xff0c;中文中我们使用“…

传统网站有没有建设必要性长春搜索排名提升

首发公号&#xff1a;Rand_cs 共享内核空间 我们常说&#xff0c;每个进程都有自己的虚拟地址空间&#xff0c;但其中内核部分是共享的。 这就有个问题&#xff0c;如何共享的&#xff1f; 系统启动时创建了一张内核页表&#xff0c;里面记录着内核地址空间与物理地址空间的…

网站能获取访问者关键词搜索引擎又称为

1.简介 RapidJSON 是一个 C 的 JSON 解析库&#xff0c;由腾讯开源。 支持 SAX 和 DOM 风格的 API&#xff0c;并且可以解析、生成和查询 JSON 数据。RapidJSON 快。它的性能可与strlen() 相比。可支持 SSE2/SSE4.2 加速。RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至…

详细介绍:PHP基础-数据类型(第九天)

详细介绍:PHP基础-数据类型(第九天)2025-09-22 17:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !…

实用指南:告别IP被封!分布式爬虫的“隐身”与“分身”术

实用指南:告别IP被封!分布式爬虫的“隐身”与“分身”术pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

从 “盲调” 到 “精准优化”:SQL Server 表统计信息实战指南

本文核心要旨在于:SQL Server 表统计信息作为元数据对象,宛如数据分布的 "指南针",精准存储着数据分布信息,为查询优化器提供关键依据,助力其生成高效的查询执行计划。在维护方面,统计信息更新有手动与…