python3 多线程,多进程 ,IO多路复用

Posted saonian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 多线程,多进程 ,IO多路复用相关的知识,希望对你有一定的参考价值。

多线程

  一):

#!/usr/bin/python3

import _thread
import time

# 为线程定义一个函数
def print_time( threadName, delay):
   count = 0
   while count < 5:
      time.sleep(delay)
      count += 1
      print ("%s: %s" % ( threadName, time.ctime(time.time()) ))

# 创建两个线程
try:
   _thread.start_new_thread( print_time, ("Thread-1", 2, ) )
   _thread.start_new_thread( print_time, ("Thread-2", 4, ) )
except:
   print ("Error: 无法启动线程")

while 1:
   pass

  二)

#!/usr/bin/python3

import threading
import time

exitFlag = 0

class myThread (threading.Thread):
    def __init__(self, threadID, name, counter):
        threading.Thread.__init__(self)
        self.threadID = threadID
        self.name = name
        self.counter = counter
    def run(self):
        print ("开始线程:" + self.name)
        print_time(self.name, self.counter, 5)
        print ("退出线程:" + self.name)

def print_time(threadName, delay, counter):
    while counter:
        if exitFlag:
            threadName.exit()
        time.sleep(delay)
        print ("%s: %s" % (threadName, time.ctime(time.time())))
        counter -= 1

# 创建新线程
thread1 = myThread(1, "Thread-1", 1)
thread2 = myThread(2, "Thread-2", 2)

# 开启新线程
thread1.start()
thread2.start()
thread1.join()
thread2.join()
print ("退出主线程")

 

以上是关于python3 多线程,多进程 ,IO多路复用的主要内容,如果未能解决你的问题,请参考以下文章

Python全栈开发-Day10-进程/协程/异步IO/IO多路复用

flask 源码浅析(flask 如何处理请求(多线程,多进程,IO多路复用))

IO多路复用简介

nginx 多进程 + io多路复用 实现高并发

IO多路复用

IO多路复用之selectpollepoll