【Python】一个文件里面多个函数和py文件同时执行( 多线程)

多线程 

D:\code\mutil_process下创建文件apply_2_program.py

#coding=utf-8
import time
# from selenium import webdriver
import threading
import os

def fun1(a):
    print(a)

def fun2():
    print(222)

def process_img():
    os.system('python D:/code/mutil_process/2_program/process_img.py')

def mointer_img():
    os.system('python D:/code/mutil_process/2_program/mointer_img.py')

threads = []
threads.append(threading.Thread(target=process_img))   #args为函数接受的参数,多个参数可以传入多个 args=(u'爱情买卖',u'爱情买卖')
threads.append(threading.Thread(target=mointer_img))

print(threads)
if __name__ == '__main__':
    for t in threads:
        t.setDaemon(True) #我拿来做selenium自动化模拟多个用户使用浏览器的时候,加了这个就启动不了,要去掉,原因找到了 :  加了这个是说明 主线程 执行完了 子线程也停止(无论是否执行完毕)
        t.start()

    t.join()
    # print("all over %s" %ctime())

多进程

D:\code\mutil_process下创建文件apply_2_program_multiprocess.py

import time
import multiprocessing
import os

def process_img():
    os.system('python D:/code/mutil_process/2_program/process_img.py')

def mointer_img():
    os.system('python D:/code/mutil_process/2_program/mointer_img.py')

if __name__ == '__main__':
    start = time.time()

    p1 = multiprocessing.Process(target=process_img,)
    p2 = multiprocessing.Process(target=mointer_img,)

    # 启动子进程
    p1.start()
    p2.start()

    # 等待fork的子进程终止再继续往下执行,可选填一个timeout参数
    p1.join()
    p2.join()

    end = time.time()

在文件夹D:\code\mutil_process\2_program中新建文件

mointer_img.py

import time

with open("./2_program/test.txt", "w") as f:
    pass
print("end")

process_img.py

import cv2
import numpy as np
import skimage.io as io
import matplotlib.pyplot as plt

# img = io.imread("1.png")

img = cv2.imread(r"D:\code\mutil_process\2_program\1.png")
# print(img.shape)
cv2.imwrite("./2_program/2.png", img)
print("process_img")

图片1.png

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值