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