zoukankan      html  css  js  c++  java
  • 线程_互斥锁_Lock及fork创建子进程

    """
    创建锁  mutex = threading.Lock()
    锁定  mutex.acquire([blocking])
            当blocking为True时,当前线程会阻塞,直到获取到这个锁为止
            默认为True
            当blocking为False时,当前线程不会阻塞
    释放  mutex.release()
    """
    from threading import Thread,Lock
    g_num = 0
    def test1():
        global g_num
        for i in range(100000):
            mutexFlag = mutex.acquire(True)#通过全局变量进行调用函数
            # True会发生阻塞,直到结束得到锁为止
            if mutexFlag:
                g_num += 1
                mutex.release()
        print("test1--g_num = %d"%(g_num))
    def test2():
        global g_num
        for i in range(100000):
            mutexFlag = mutex.acquire(True)
            if mutexFlag:
                g_num += 1
                mutex.release()
        print("----test2---g_num = %d "%(g_num))
    mutex = Lock()
    p1 = Thread(target=test1,)
    # 开始进程
    p1.start()
    p2 = Thread(target=test2,)
    p2.start()
    print("----g_num = %d---"%(g_num))

    fork创建子进程
    import os
    # fork()在windows下不可用
    pid = os.fork()#返回两个值
    # 操作系统创建一个新的子进程,复制父进程的信息到子进程中
    # 然后父进程和子进程都会得到一个返回值,子进程为0,父进程为子进程的id号
    if pid == 0:
        print("哈哈1")
    else:
        print("哈哈2")

    2020-05-07

     

  • 相关阅读:
    调用百度地图API添加点聚合时,marker标注的label标签刷新丢失问题
    redis--基本命令
    centos8安装redis6.0.5
    centos8更改镜像源
    centos8重启网络服务
    搭建eureka高可用
    html5图片缩放后上传blob
    mysql主从复制
    zTree
    datetimepicker使用总结
  • 原文地址:https://www.cnblogs.com/hany-postq473111315/p/12845573.html
Copyright © 2011-2022 走看看