浏览器的加载与页面性能优化Javascript 异步加载详解HTML5 元素async,defer异步加载defer/async都是异步加载js,和HTML并行加载不阻塞HTML的加载。但是defer/async区别在于何时执行。http://blog.csdn.net/renfufei/artic...
分类:
其他好文 时间:
2014-12-23 17:05:42
阅读次数:
127
一直以来,各种JS最佳实践都会告诉我们,将JS放在HTML的最后,即之前,理由就是:JS会阻塞下载,而且,在JS中很有可能有对DOM的操作,放在HTML的最后,可以尽可能的保证JS的执行在DOM加载完成之后。而如果放在onload事件中执行,如果页面有很多图像,那么页面的onload事件要过很久才会...
分类:
Web程序 时间:
2014-12-23 13:53:40
阅读次数:
277
Java NIO和阻塞IO的区别: 阻塞I/O在调用InputStream.read()方法时是阻塞的,它会一直等到数据到来时(或超时)才会返回;同样,在调用ServerSocket.accept()方法时,也会一直阻塞到有客户端连接才会返回,每个客户端连接过来后,服务端都会启动一个线程去处理该客户...
分类:
编程语言 时间:
2014-12-22 21:16:24
阅读次数:
250
在CoreData中使用多线程一般不是为了能够提高性能和效率,而是为了使主线程能够不被阻塞,使能够在做其他数据操作的时候,UI还能够继续响应用户的行为。当执行fetch操作时,CoreData系统会根据需要自动开启多个线程做相应的操作,因此我们自己添加多线程并不能提高效率,而仅仅..
分类:
编程语言 时间:
2014-12-22 19:45:12
阅读次数:
172
看Craig, Landin, and Hagersten发明的CLH锁如何优化同步带来的花销,其核心思想是:通过一定手段将所有线程对某一共享变量轮询竞争转化为一个线程队列且队列中的线程各自轮询自己的本地变量。这个转化过程由两个要点,一是构建怎样的队列&如何构建队列,为了保证公平性,构建的将是一个FIFO队列,构建的时候主要通过移动尾部节点tail实现队列的排队,每个想获取锁的线程创建一个新节点并...
分类:
编程语言 时间:
2014-12-21 22:11:38
阅读次数:
470
我们知道一个线程在尝试获取锁失败后将被阻塞并加入等待队列中,它是一个怎样的队列?又是如何管理此队列?这节聊聊CHL Node FIFO队列。
在谈到CHL Node FIFO队列之前,我们先分析这种队列的几个要素。首先要了解的是自旋锁,所谓自旋锁即是某一线程去尝试获取某个锁时,如果该锁已经被其他线程占用的话,此线程将不断循环检查该锁是否被释放,而不是让此线程挂起或睡眠。它属于为了保证共享资源而...
分类:
编程语言 时间:
2014-12-20 23:33:23
阅读次数:
572
引言:UNIX/LINUX下大多数都是用gzip格式来做文件的压缩方案的,而gzip文件损坏的情况也屡见不鲜,常见的有遇到坏扇区、压缩进程io阻塞,或恢复后的压缩文件被破坏等。因近期有做关于gzip文件的修复研究,特分为三个篇章对此成果进行表述,分别为原理篇,方法篇,案例篇。此为..
分类:
其他好文 时间:
2014-12-20 18:21:55
阅读次数:
299
conditon_variable(条件变量)用于线程间同步condition_variable有5个函数,函数名及对应的功能如下:wait阻塞自己,等待唤醒wait_for阻塞自己,等待唤醒,最多等待一段时间wait_until阻塞自己,等待唤醒,最多等待到某个时间点notify_one 唤醒一个...
分类:
编程语言 时间:
2014-12-19 23:23:09
阅读次数:
367
对于nio这块估计在几年前就有关注,知道非阻塞,线程池,缓冲池,io的模式select,poll,epoll,甚至epoll中的et,lt.但是最近才有时间实际看了看netty的源码,才发现原来selector可以这么用,在我的印象中觉得一个服务其实一个selector就够用了,并且本身对...
分类:
其他好文 时间:
2014-12-19 11:59:26
阅读次数:
164
android培训------我的java笔记,期待与您交流!sleep()和wait()的相同点:(1) 都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回(2) 都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException...
分类:
编程语言 时间:
2014-12-18 22:12:29
阅读次数:
184