多线程程序设计的困难
难以重现失败,bug难以追踪
并发错误难以追踪和消除
独立任务的拆分并不总是那么明朗
线程同步、通信引入的复杂
多线程引发的竞争、死锁、可见性问题(难以调试、追踪)
测试困难,简单的测试并不能覆盖生产环境的问题
设计不当,并不能充分提升性能(不控制线程数量,造成无谓上下文切换和Cache失效)
see Amdahl's law,阿姆达尔定律,...
分类:
编程语言 时间:
2014-09-23 19:25:45
阅读次数:
300
分别归类为: javascript变量 javascript运算符 javascript数组 javascript流程语句 javascript字符串函数 javascript函数基础 javascript基础DOM操作 javascript正则表达式能够认真看完就是一次对javascript的回顾...
分类:
编程语言 时间:
2014-09-23 06:05:29
阅读次数:
318
一. 何谓"原子操作": 原子操作就是: 不可中断的一个或者一系列操作, 也就是不会被线程调度机制打断的操作, 运行期间不会有任何的上下文切换(context switch). 二. 为什么关注原子操作? 1. 如果确定某个操作是原...
分类:
其他好文 时间:
2014-09-21 21:07:21
阅读次数:
276
函数在javascript中可以说是一等公民,也是最有意思的事情,javascript函数其实也是一个对象,是Function类型的实例。因此声明一个函数首先可以使用 Function构造函数:var saySomething = new Function("something","console....
分类:
编程语言 时间:
2014-09-21 01:18:29
阅读次数:
303
[function].call(obj,param1,param2,....)让函数[function]的当前作用域变成obj,即函数中的this变成这个obj,同时函数接收obj对象的指定的几个参数。[function].apply(obj,arguments)让函数[function]的当前作用...
分类:
编程语言 时间:
2014-09-20 23:46:49
阅读次数:
317
转一篇文章:一、概述javascript函数劫持,也就是老外提到的javascript hijacking技术。最早还是和剑心同学讨论问题时偶然看到的一段代码,大概这样写的:window.alert = function(s) {};觉得这种用法很巧妙新颖,和API Hook异曲同工,索性称之为ja...
分类:
编程语言 时间:
2014-09-19 19:01:56
阅读次数:
300
JavaScript函数式编程本质以及详细解析...
分类:
编程语言 时间:
2014-09-13 13:24:35
阅读次数:
168
7.5 小结在JavaScript 编程中,函数表达式是一种非常有用的技术。使用函数表达式可以无须对函数命名,从而实现动态编程。匿名函数,也称为拉姆达函数,是一种使用JavaScript 函数的强大方式。以下总结了函数表达式的特点。? 函数表达式不同于函数声明。函数声明要求有名字,但函数表达式不需要...
分类:
编程语言 时间:
2014-09-10 23:49:01
阅读次数:
286
阻塞
非竞争的同步可以完全在JVM中处理,竞争的同步则可能需要操作系统的介入,从而增加开销。当在锁上发生竞争时,竞争失败的线程肯定会阻塞。JVM在实现阻塞行为时,可以采用自旋等待,就是通过循环不断的尝试获取锁。直到成功。或者通过操作系统挂起被阻塞的线程。这两种方式的效率高低取决于上下文切换的开销以及在成功获取锁之前需要等待的时间。如果等待时间较短,采用自旋等待的方式,如果时间较长,则采用操作系统...
分类:
编程语言 时间:
2014-09-10 22:30:41
阅读次数:
230