2016-03-04

最近有两个新闻总是引人关注:

第一个事件:Apple pay 入华,支付大战愈演愈烈。

不过是Apple pay入场,媒体就叫嚣着“狼来了”,替支付宝们着急。没错,他们都是各种 pay:

银联是 union pay
支付宝是 ali pay
微信支付是 tencent pay
applepay就更露骨了,apple pay

在支付占有率上他们是竞争对手。不过,这对民众影响能有多大呢?无非是多了一种选择而已,需要关心这件事本身吗?

或许,我们更应该关注背后的变化。因为在更大的框架内,所有的 pay 都是同一阵营的队友,他们都有一个共同任务:普及货币的数字化。

第二个事件:央行放信号:数字货币不远了

注意区分“货币的数字化”和”数字货币”。先来看看什么是数字货币,“货币”本身的概念就很难理解,“数字货币”就更难理解了。结合实际的例子来理解比较直观 —— 比特币就是一种数字货币。

央行2014年就开始研究“区块链”技术,“区块链”技术起源于比特币,所谓无利不起早,干这事肯定有大利可图。

更多 →
2016-03-04

UV 号称是 超快、超强大的 Python 依赖管理工具,用 Rust 语言开发的,这使得它比传统工具快得多,能让你的 Python 开发体验更加流畅。

更多 →
2016-03-04

Pipenv 官网:https://pipenv.pypa.io/en/latest/

基本使用

  1. 安装 pipenv:pip install pipenv
  2. 创建/激活虚拟环境:pipenv shell
  3. 安装依赖:pipenv install requests
  4. 卸载依赖:pipenv uninstall requests
  5. 退出虚拟环境:exit
更多 →
2016-03-04
更多 →
2016-03-04
更多 →
2016-03-04
更多 →
2016-03-04
更多 →
2016-03-03

其实这是一个面试题。

线程状态

按照 Thread.State 的定义,一个线程可能处在以下六种状态之一 :

  1. NEW

    线程对象被创建,但是还未开始。即还没有调用过 Thread.start

  2. RUNNABLE

    线程正在运行,或者等待分配运行资源

  3. BLOCKED

    等待进入同步块(monitor lock),注意与Lock对象的区别。
    或者在调用 Object.wait 之后再次进入同步的块/方法(意思就是再次进入的这个时候依旧没有获取到锁)。

  4. WAITING

    等待其他线程的操作,触发进入此状态是操作:

     Object.wait with no timeout
     Thread.join with no timeout
     LockSupport.park //比如condition.await()
    
  5. TIMED_WAITING

    等待一定的时间

     Thread.sleep
     Object.wait with timeout
     Thread.join with timeout
     LockSupport.parkNanos
     LockSupport.parkUntil
    
  6. TERMINATED

    线程已经执行完成

更多 →
2016-03-01
更多 →
2016-02-29
更多 →