自旋锁和互斥锁是多线程编程中的两个重要概念。他们都能用来锁定一些共享资源,以阻止影响数据一致性的并发访问。但是他们之间确实存在区别,那么这些区别是什么?
1 理论
理论上,当一个线程试图获取一个被锁定的互斥锁时,该操作会失败然后该线程会进入睡眠,这样就能马上让另一个线程运行。当持有互斥锁的线程释放该锁之后,进入睡眠状态的线程就会被唤醒。但是,当一个线程试图获取一个自旋锁而没有成功时,该线...
分类:
其他好文 时间:
2014-04-29 13:31:21
阅读次数:
317
类--隐含的this指针引言: 在前面提到过,成员函数具有一个附加的隐含形参,即指向该类对象的一个指针。这个隐含形参命名为this,与调用成员函数的对象绑定在一起。成员函数不能定义this形参,而是有编译器隐含地定义。成员函数可以显式的使用this指针,但不是必须这么做。1、何时使用this指针 有一种情况下,我们必须显式使用this指针:当需要将一个对象作为整体引用而不是引用对象的一...
分类:
编程语言 时间:
2014-04-29 13:21:21
阅读次数:
371
paip.输入法编程--英文ati化By音标原理与中文atiEn处理流程 python 代码为例
#---目标
1. en vs enPHati
2.en vs enPhAtiSmp
3.cn vs enPHati
4. cn vs enPhAtiSmp
#两个方法,一个获得enPhAtied代码,一个获得哪的smp版本..
def convert2atiEnPnNo...
分类:
编程语言 时间:
2014-04-28 10:47:43
阅读次数:
360
paip.性能跟踪profile原理与架构与本质-- python扫带java php
##背景
弄个个输入法音标转换atiEnPH工具,老是python性能不的上K,7k记录浏览过k要30分钟了.
##目标
分析一个程序的性能,最终都归结为回答4个基本的问题:
程序运行速度有多快?
运行速度瓶颈在哪儿?
程序使用了多少内存?
内存泄露...
分类:
编程语言 时间:
2014-04-28 10:46:41
阅读次数:
334
会话清除与过期
程序主动清除session数据
设置会话失效:session.invalidate()
移除会话中一个属性:
语法:public void removeAttribute(String name);
服务器主动清除长时间没有再次发出请求的session
设置会话过期时间
方法一:public void setMaxInactiveInterval(int interv...
分类:
编程语言 时间:
2014-04-28 10:36:41
阅读次数:
322
代理模式的本质:控制对象访问
既然本质是控制对象访问,意思就是在访问者与原始对象之间加一个代理即可
同理,代理模式也可以通过继承原始类来实现,让访问者操作继承类,继承类来控制原始对象的访问
从而实现控制对象访问的目的
何时选用代理模式
1.需要为一个对象在不同的地址空间提供局部(重点)代表的时候,可以使用远程代理
2.需要按照需要创建开销很大的对象的时候,可以使用虚代理(即一个不完整的对象)
3.需要控制对原始对象的访问的时候,可以使用保护代理,上边即保护代理实例
4.需要在访问对象执行一些附加操作的时候,...
分类:
其他好文 时间:
2014-04-28 10:27:41
阅读次数:
253
在一些企业中经常会发生这样的事情,公司业务繁忙,项目堆积成山,开发团队总共也就六七个人,恨不得一个人当两个人使,行内话称:”女人当做男人使,男人当做牲口使“,急于改变现状的项目经理更是焦头烂额,满脑子的念头就是”怎么办?怎么办???“。好吧看来我需要参与进来了,于是挽起袖子开始了一次《速度与激情》的编程之旅。
那我问你,你的准备工作做好了吗?你是最初接触项目需求的人...
分类:
其他好文 时间:
2014-04-28 10:22:40
阅读次数:
277
第三讲 风格与模式
3.1自顶向下风格
复杂问题分解,直到小问题足够简单,可以掌控为止
是一种思考方式
把大的任务不断的分解为更小的子任务
另一法宝:忽略,忽略细节
程序问题
制定框架---》逐步细化---》逐步精华---》分解为子问题
打印特定的形状
做一个二维数组的缓冲区
向缓冲区输出
缓冲区输出屏幕上
数组初始元素都是0
表格:横线,竖线。...
分类:
其他好文 时间:
2014-04-28 10:16:40
阅读次数:
436
uva 10084 Hotter Colder
题目大意:
有一个人玩游戏,起初是个左下角(0,0) 右上角(10,10)的矩形,有一个宝藏藏在这之间。这个人起初在(0,0) 每次走到一个点,会告诉你与原来的点相比距离宝藏近了还是远了,还是不变,根据这个每次求宝藏的范围(面积)。
解题思路:
每次相当于形成一个新的范围是凸包,只需要求这个凸包所有的点,然后按照极角排序,求面积。
这题wa了很多次,感觉代码略麻烦了一点点。
代码:见文章...
分类:
其他好文 时间:
2014-04-28 10:14:41
阅读次数:
370
《深入理解Android内核设计思想》已陆续在全国各大书店上市,电子书店也在陆续上架中(不断增加):1. http://product.china-pub.com/3803721书本目录和一些章节内容将陆续与各位亲爱的读者们分享,感谢大家一直以来的支持和鼓励~~...
分类:
移动开发 时间:
2014-04-28 10:11:42
阅读次数:
359