之前多线程的倒是写过,但是多进程,还是第一次,前几天,看到一段python写的代码,做压力测试的,为了抢占榨干CPU性能,对每一千个线程,开启一个进程,闲下来查查看,mark下:(我说的那段代码就不贴了,太多,自己写了个demo版本,很简单)
#!/usr/bin/python3 # -*- coding: utf-8 -*- import time import multiprocessing def gettime(): localtime = time.localtime(time.time()) year = localtime[0] month = localtime[1] day = localtime[2] hour = localtime[3] minute = localtime[4] return ("本地时间为:" + str(year) + '-' + str(month) + "-" + str(day) + " " + str(hour) + ":" + str(minute)) p1 = multiprocessing.Pool(processes=4) #最多并发进程数目为4 results = [] for i in range(0,10): results.append(p1.apply_async(gettime)) #非阻塞 p1.close() p1.join() for result in results: #打印进程执行结果 print result.get()
最近在看一个压力测试的脚本,python版的,感觉python也有很多奇怪的语法,不过还是蛮简单的一门语言,入门很快,两三天基本就能写东西。