代码:
# /usr/bin/python
#coding:utf-8
__author__ = 'eyu Fanne'
import multiprocessing,time
import logging
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler('test.log')
fh.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
def fun(msg):
time.sleep(2)
print 'msg:',msg
return 'msg:',msg
#print 'end'
def test():
pool = multiprocessing.Pool(processes=4)
for i in xrange(10):
msg = 'hello %d' %(i)
pool.apply_async(fun,(msg,))
#pool.apply(fun,(msg,))
pool.close()
pool.join()
if __name__=='__main__':
logger.info(test())
logger.info('dddd')
打印的结果:
msg:msg: hello 3
msg: hello 0
hello 2
msg: hello 1
msg: hello 5
msg:msg:msg: hello 4hello 7
hello 6
msg: hello 8
msg: hello 9
2016-01-12 18:44:27,251 - mylogger - INFO - None
2016-01-12 18:44:27,251 - mylogger - INFO - dddd
第一个函数为何打印出来的是None的
因为test()没有返回值