zoukankan      html  css  js  c++  java
  • 7.16 进程 信号量

    01.复习内容

    子进程里面不能用 input  明天认真看 ,天热有点浮躁!

     1 #!/usr/bin/env python
     2 #!--*--coding:utf-8 --*--
     3 #!@Time    :2018/7/16 18:46
     4 #!@Author   TrueNewBee
     5 
     6 """
     7     我把之前的项目误删了,重新建个项目,
     8     还好以前部分代码用sublime编写的还有存档
     9 """
    10 #多进程代码
    11 
    12 # from multiprocessing import Process
    13 #方法
    14     #进程对象.start()       开启一个子进程
    15     #进程对象.join()        感知一个子进程的结束
    16     #进程对象.terminate()   结束一个子进程
    17     #进程对象.is_alive()    查看某个子进程是否还在运行
    18 #属性
    19     #进程对象.name      进程名
    20     #进程对象.pid       进程号
    21     #进程对象.daemob    值为True的时候,表现新的子进程是一个守护进程
    22         #守护进程   随着主进程代码的执行结束而结束
    23         #一定在start之前设置
    24 
    25 #from  multiprocessing import Lock
    26 
    27 #l = Lock()
    28 #l.acquire()    #拿钥匙
    29 #会造成数据不安全的操作
    30 #l.release()    #换钥匙

    # 信号量   pep8的标准还得适应,,真难

     1 # !/usr/bin/env python
     2 # !--*--coding:utf-8 --*--
     3 # !@Time    :2018/7/16 19:01
     4 # !@Author   TrueNewBee
     5 
     6 
     7 # 多进程中的组件
     8 # 一套资源  同一时间 只能被n个人访问
     9 # 某一段代码 同一时间 只能被n个进程执行
    10 import time
    11 import random
    12 from multiprocessing import Process
    13 from multiprocessing import Semaphore
    14 
    15 
    16 def ktv(arg, sem1):
    17     sem1.acquire()   # 获取钥匙
    18     """模拟唱歌"""
    19     print("%s走进ktv"%arg)
    20     time.sleep(random.randint(1, 5))
    21     print("%s走出ktv"%arg)
    22     sem.release()
    23 
    24 
    25 if __name__ == '__main__':
    26     sem = Semaphore(4)
    27     for i in range(20):
    28         p = Process(target=ktv, args=(i, sem))
    29         p.start()
  • 相关阅读:
    并行 并发 概念
    为什么C++编译器不能支持对模板的分离式编译_刘未鹏
    并发编程的15 条建议
    VS2005 C++ str.Format 编译错误
    PPT 去除排练计时
    VS2005中 depends.exe 在哪里
    《A wavelet tour of signal processing》前言摘录
    Windows Forms 2.0 Programming 读书笔记Hello, Windows Forms
    VS2005 宽字符 unicode字符集和多字节字符集
    Windows Forms 2.0 Programming 读书笔记Hello, Windows Forms(2)
  • 原文地址:https://www.cnblogs.com/zhen1996/p/9319837.html
Copyright © 2011-2022 走看看