python 进程与线程

创建进程:

    1.os.system函数

    2.os.execl(file,agv)

终止进程:

    1.sys.exit函数  ----做清理工作

    2.os.abort函数---暴力退出

subprocess模块管理:

    等待子进程结束。popen.wait()

    

import subprocess

pingP=subprocess.Popen(args='ping –n 4 www.sina.com.cn', shell=True)    #生成ping进程
pingP.wait()           #等待进程完成
print (pingP.pid)       #打印进程ID
print (pingP.returncode)  #打印进程返回值

 子进程输入输出重定向:

print (pingP.stdout.read())      #读取进程的输出信息 

调用外部系统命令

subprocess.call()

信号机制:

signal.sigal()

在多线程用_thread.start_new_thread(functin,agv[])

在主函数中需要加死循环以避免退出、

使用threading.Thread类构建多线程

class ThreadDemo(threading.Thread):
    def __init__(self, index, create_time): #线程构造函数
        threading.Thread.__init__(self)
        self.index = index
        self.create_time = create_time
    def run(self): #具体的线程运行代码
        time.sleep(1) #休眠1秒钟
        print ((time.time()-self.create_time),"\t",self.index)
        print ("Thread %d exit..." % (self.index))

for index in range(5): 
    thread = ThreadDemo (index, time.time())
    thread.start() #启动线程
*主线程等待子线程thread.join()
*线程中的局部变量threading.local()

 线程同步:

一、锁机制:

1.低层次的_thread

生产锁对象:_thread.allocate_lock()

获取锁: lock.acquire()

释放锁:lock.release()

2.高层次threading锁

生产锁对象:threading.Lock()

获取锁: lock.acquire()

释放锁:lock.release()

进程同步注意:join应在生产者和消费者都开始运行之后,添加。

二、信号量:

三、同步队列:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值