Python基础学习:Python多线程方法threading的使用一

Python基础学习:Python多线程方法threading的使用一

一、方法封装

import threading
class MultithreadingAction(object):
    '''
    这里对ththreading.Thread()是二次封装
    '''
    def __init__(self, actions):
        '''
        :param actions: 需要传入的参数为需要执行的操作actions,actions为一个集合
        '''
        self.__actions = actions

    def multithreading_action(self):
        '''
        多线程的方法
        '''
        try:
            i = 0
            act = {}
            for action in self.__actions:
                act[i] = threading.Thread(target=action)
                act[i].start()
                i += 1
            for j in act.keys():
                act[j].join()
        except Exception as e:
            print(e)

二、方法调用

from public_methods.common.multi_threading import MultithreadingAction
import time
def test1():
    '''
    打印test1,每次打印等待1s
    :return:
    '''
    i = 0
    while i < 6:
        print('test1')
        i += 1
        time.sleep(1)


def test2():
    '''
    打印test2
    :return:
    '''
    j = 0
    while j < 6:
        print('test2')
        j += 1
        time.sleep(1)


# 调用多线程方法
actions = [test1, test2]    # 将两个操作放到list里
MultithreadingAction(actions).multithreading_action()   # 启用多线程

三、运行结果

test1
test2
test1
test2
test1
test2
test1
test2
test1
test2
test1
test2

Process finished with exit code 0
posted @ 2020-11-06 10:01  caodingzheng  阅读(11)  评论(0编辑  收藏  举报