项目初始化
Github: https://github.com/ElemeFE/element
1 | # 创建项目目录 |
Github: https://github.com/ElemeFE/element
1 | # 创建项目目录 |
在多线程程序中,当一个线程对共享变量所做的修改对于其它线程并不可见,导致其它的线程仍然使用错误的值,就会造成可见性问题。
在代码被运行时,对于一条代码语句,可能对应着虚拟机中多条的指令序列,由于CPU在调用线程时不可预知,那么就可能出现在执行某一条语句时,执行到其所对应的指令的间隙就切换到了其它线程执行,引发错误。
现在的CPU一般采用多级缓存,多级缓存的引入是为了提高读取效率,增加CPU运算的性能,但是这样也会引发一些问题:由于线程在读取数据的时候是从主存时读取的,当一个线程对一个共享变量进行了修改的时候,这个变量没有及时地写入到主存中,而是暂时保存在了缓存中,那么CPU此时切换另一个线程运行时,读取到的时主存的原来的值。
另一个可能的原因是编译器出于对性能的考虑,可能会对生成的字节吗进行指令重排,优化指令的执行顺序,这也可能会引发多线程可见性问题。
官方网址: http://hexo.io
Github: https://github.com/hexojs/hexo
1 | # 安装 |
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。通过 HTTP 或者 HTTPS 协议请求的资源由统一资源标示符(Uniform Resource Identifiers,URI)来标识。