python多进程与多线程分析与使用(四)

在上一节中,学习了Python多进程编程的一些基本方法:使用跨平台多进程模块multiprocessing提供的Process、Pool、Queue、Lock、Pipe等类,实现子进程创建、进程池(批量创建子进程并管理子进程数量上限)以及进程间通信。这一节学习下Python下的多线程编程方法。

[……]

继续阅读

python多进程与多线程分析与使用(三)

操作系统是可以并行运行多个任务的。比如你一边听歌,一边玩游戏一样。现在的cpu大都是多核的,但即使是过去的单核cpu也是支持多任务并行执行。

  单核cpu执行多任务的原理:操作系统交替轮流地执行各个任务。先让任务1,一段时间后切到任务2、任务3…,这样往复地执行下去。由于[……]

继续阅读

python多进程与多线程分析与使用(二)

1、使用多线程可以有效利用CPU资源,线程享有相同的地址空间和内存,这些线程如果同时读写变量,导致互相干扰,就会产生并发问题,为了避免并发问题,绝不能让多个线程读取或写入相同的变量,因此python中使用了全局锁(GIL),此锁只有一个,当某线程执行某个函数时,其他线程不能同时执行,直到锁被释放(同[……]

继续阅读

python多进程与多线程分析与使用(一)

  进程是一个执行中的程序,每个进程有自己的地址空间、内存、数据栈以及其他用于跟踪执行的辅助数据。操作系统管理其上所有进程,并合理分配时间。进程也可以通过fork或spawn派生新的进程,每个新进程有自己的内存数据栈,所以只能采用进程间通信(IPC)的方式共享信息。

 多线程模块:t[……]

继续阅读

python3使用requests通过get和post获取url网页内容

python3如何通过get或post的方式获取url内容?如网页内容。下面使用的是python3.7版本。

我们需要用到的一个库是requests,这个库是python自带的,不需要安装,使用非常方便。

这里随便提一下,如果不知道如何安装python三方模块请参阅:https://ww[……]

继续阅读

python2.x版本中文导致编译失败

使用python写代码时,代码中常常需要一些中文,比如输出一些提示信息可能需要是中文的,比较醒目。但是python2.x版本默认编码格式是ascii,检测到非ascii字符时就会报错(UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x?? i[……]

继续阅读

python获取svn最新版本号

这个我自己遇到的一个需求,就是在打包软件的时候需要记录一下当前的svn版本号,以方便以后追述每个软件版本对应的程序代码。下面的代码亲测有效,希望可以给你提供思路。

def GetSvnHeadRevision(work_path):
  current_work_path =&nbs[......]

继续阅读