Python subprocess 不是线程安全的. 虽然文档上没有说明subprocess 是线程安全的, 我们应该把它看做线程不安全来使用. 但是在实际使用中, 我们并不知道 subprocess 的具体哪个方法 是线程不安全的, 于是很难对它加锁, 在这里我认为 subprocess 没有设计成线程安全这件事, 是 Python2.7的一个缺陷.
所幸依然有三个方法来解决这个问题

  1. 升级至 Python3.2
  2. 使用多进程替代多线程
  3. 在 Python2.7 下使用 subprocess32 包

Python subprocess包中的父子进程沟通

2016-06-02 01-19-24 by Kamushin

Python subprocess包中父子进程如何沟通, 使用不当又会有什么后果。

read more

Python 调试方法

2016-05-21 15-45-00 by Kamushin

在解决一个线上程序 hang 住的过程中, 研究了几种 Python 调试方法, 总结下各自的优缺点.

read more

Loggers in Python

2016-05-21 15-14-04 by Kamushin
  1. Loggers will be stored in manager in Python. Handlers will cause resource leak if not removed.
read more

Python multiprocessing WHY and HOW

2016-04-25 14-41-15 by Kamushin

Some thinking and traps in refactor multithreading Python to multiprocessing.

read more

Member functions in Python

2016-02-03 14-51-01 by Kamushin

Pass a self.func as an argument is passing a function and a self object.

read more

SSCursor in MySQL

2016-01-19 14-55-49 by Kamushin

What is and How to use SSCursor in MySQL

read more

Python开发经验--从问题入手

2015-12-23 10-49-26 by Kamushin

从一系列实际问题出发, 谈 Python 的一些使用知识

read more

Write Python like a Pro

2015-12-21 17-26-57 by Kamushin

Something I know about how to write Python code

read more

Do not use LOB in Oracle(OLTP) -- record an optimization experience

2015-12-08 01-52-18 by Kamushin

LOB in Oracle and cx_Oracle

read more