2017-01-13 Lu Huang
本文转载至《你必须知道的 34 个简单实用的 Ubuntu 快捷键》。 Ctrl + W: 关闭当前 Nautilus 窗口 Ctrl+T: 在 Nautilus 打开新的 Tab Ctrl + H: 切换隐藏文件(夹)显示或者不显示 Ctrl+E: 发送当前文档给某个 Email Ctrl+Q: 退出应用 Ctrl + 1/2: 修改文件夹视图为图标或者列表模式 Ctrl + Shift + W: 关闭所有的 Nautilus 窗口 Ctrl + Shift + N: 创建新文件夹 Ctrl + Alt + L: 锁屏,如果你想走开一会而不想让别人看到你的屏幕 Ctrl + Alt + D: 显示桌面/恢复打开的窗口 Ctrl 继续阅读 »
2014-08-22 veryyoung
Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位。 计算机中的Atomic是指不能分割成若干部分的意思。如果一段代码被认为是Atomic,则表示这段代码在执行过程中,是不能被中断的。 通常来说,原子指令由硬件提供,供软件来实现原子方法(某个线程进入该方法后,就不会被中断,直到其执行完成)。 DK1.5的原子包:java.util.concurrent.atomic 这个包里面提供了一组原子类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择 继续阅读 »
2016-10-11 YongHao Hu
go
可以使用golang的race-detector检查资源冲突, 但最重要还是全局考虑资源分配问题. 在debug多线程时,发现一个自己锁自己的bug. 继续阅读 »
2016-04-27 Li Shuai
GIL 熟悉Python的人对GIL这货可定都不陌生, 全局解释器锁(Global Interpreter Lock)简称GIL, 这货是 Python多线程的核心机制。由于Python的线程实际是操作系统的原生线程,多个线程同时执行同一段字节码可能 会导致很多问题(比如: 内存管理的引用计数需要线程安全机制的保护),于是使用GIL这把大锁锁住其他线程,保 证同一时刻只有一个线程可以解释执行字节码。关于GIL的更多分析, 可以看David Beazley大神的研究。本文主要分析下CPython的GIL在Linux上 基于pthread的实现细节,看完这些源码后能够对GIL有更深入的理解。 GIL的定义 有人可能会想,从GIL的 继续阅读 »
2015-03-21 Roger
最近由于工作上的需要,研究了一下framework层面的东西。收获良多,感受颇深啊。 在 设置->安全 中选择屏幕锁定,选择屏幕锁定方式为密码,然后勾选显示密码选项,此时应该在输入密码时,先显示输入的密码,过1.5S后将变为小圆点,若取消显示密码则输入直接为小圆点。 而由于“前人”对锁屏的改动造成取消显示密码后,还是先显示密码才跳为小圆点,这是我要解决的BUG。 研究后发现“前人”将 Keyguard 中 com.android.keyguard.KeyguardPasswordView 类 106 行改变了Textview的inputtype,将其恢复后BUG得以解决。 Why?我一头雾水,甚至都不知道是在哪把输入的字符变 继续阅读 »
2015-06-17 Lingxian Kong
什么是tooz 啥是tooz,Google一把就出来。简单的说,tooz是一个python库,是一个实现分布式环境下成员管理、分布式锁、leader选举的框架。tooz最初是eNovance几个工程师编写的,关于tooz产生的背景可以阅读这里。 继续阅读 »