浏览器高层结构
- 用户界面:地址栏,前进、后退,书签菜单。
- 浏览器引擎:在用户接和呈现引擎之间传送指令。
- 呈现引擎:显示请求的内容。
- 网络:网络调用,如http请求。
- 用户界面后端:绘制基本窗口小部件。
- JavaScript解析器:解析和执行js代码。
- 数据存储:持久层,把需要的数据保存在硬盘上,如cookie.
进程
什么是进程?
当一个程序开始运行的时候,他就是一个进程
进程包括运行中的程序和程序所使用到的内存和系统资源
一个进程可以分为多个线程
线程
线程是程序中的执行流,每一个线程都有自己的专有寄存器 (栈指针等),但是代码区是共享的,即不同的线程可以执行同样的函数
寄存器
寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果
线程死锁
多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。
如何避免死锁
在有些情况下死锁是可以避免的。三种用于避免死锁的技术:
- 加锁顺序(线程按照一定的顺序加锁)
- 加锁时限(线程尝试获取锁的时候加上一定的时限,超过时限则放弃对该锁的请求,并释放自己占有的锁)
- 死锁检测
CSS3 background-image属性
通过background-image属性添加背景图片。
CSS3 允许你在元素中添加多个背景图像。
不同的背景图像和图像用逗号隔开,所有的图片中显示在最顶端的为第一张。优先写的图片是顶层,后写的为底层
#example1 {
background-image: url(/statics/images/course/img_flwr.gif), url(/statics/images/course/paper.gif);
background-position: right bottom, left top;
background-repeat: no-repeat, repeat;
padding: 15px;
}
同时写多个图片背景的时候,用,
分隔
background-position 与 background-repeat属性值也按照background-image先后顺序设置
CSS3 background-size 属性
background-size指定背景图像的大小。CSS3以前,背景图像大小由图像的实际大小决定。
CSS3中可以指定背景图片,让我们重新在不同的环境中指定背景图片的大小。您可以指定像素或百分比大小。
你指定的大小是相对于父元素的宽度和高度的百分比的大小。
重置背景图像:
div
{
background:url(img_flwr.gif);
background-size:80px 60px;
background-repeat:no-repeat;
}
CSS3 background-Origin属性
background-Origin属性指定了背景图像的位置区域。
语法:
background-origin: padding-box|border-box|content-box;
值 | 描述 |
---|---|
padding-box | 背景图像填充框的相对位置 |
border-box | 背景图像边界框的相对位置 |
content-box | 背景图像的相对位置的内容框 |
注意**:如果背景图像background-attachment是"固定",这个属性没有任何效果。
CSS3 background-clip属性
CSS3中background-clip背景颜色剪裁属性是从指定位置开始绘制
值 | 说明 |
---|---|
border-box | 默认值。背景绘制在边框方框内(剪切成边框方框)。 |
padding-box | 背景绘制在衬距方框内(剪切成衬距方框)。 |
content-box | 背景绘制在内容方框内(剪切成内容方框)。 |
#example1 {
border: 10px dotted black;
padding:35px;
background: yellow;
}
绘制在内容方框内(剪切成内容方框)。 |
#example1 {
border: 10px dotted black;
padding:35px;
background: yellow;
}