您现在的位置是:主页 > news > 旅游网站开发说明书/郑州网络推广

旅游网站开发说明书/郑州网络推广

admin2025/6/6 8:09:45news

简介旅游网站开发说明书,郑州网络推广,绿色企业网站,蓬莱专业做网站公司Thread 进程class threading.Thread(groupNone, targetNone, nameNone, args(), kwargs{}, *, daemonNone)group 应该为 Nonetarget 是用于 run() 方法调用的可调用对象, 默认是 Nonename 是线程名称, 默认情况下由 "Thread-N" 格式构成一个唯一的名称, 其中 N 是小的…

旅游网站开发说明书,郑州网络推广,绿色企业网站,蓬莱专业做网站公司Thread 进程class threading.Thread(groupNone, targetNone, nameNone, args(), kwargs{}, *, daemonNone)group 应该为 Nonetarget 是用于 run() 方法调用的可调用对象, 默认是 Nonename 是线程名称, 默认情况下由 "Thread-N" 格式构成一个唯一的名称, 其中 N 是小的…

Thread 进程

class threading.Thread(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)

group 应该为 None

target 是用于 run() 方法调用的可调用对象, 默认是 None

name 是线程名称, 默认情况下由 "Thread-N" 格式构成一个唯一的名称, 其中 N 是小的十进制数

args 是用于调用目标函数的参数元组, 默认是 ()。

kwargs 是用于调用目标函数的关键字参数字典, 默认是 {}

start() 开始线程活动, 在一个线程里最多只能被调用一次, 如果同一个线程对象中调用这个方法的次数大于一次, 会抛出 RuntimeError

run() 代表线程活动的方法, 可以在子类型里重载这个方法

join(timeout=None) 阻塞直到线程终结, 该阻塞调用这个方法的线程, 直到被调用 join() 的线程终结

is_alive() 返回线程是否存活

函数调用

#!/bin/env python

#-*- coding:utf-8 -*-

import os

import time

from threading import Thread

def worker_thread(num):

time.sleep(1)

print ('ID: {}'.format(num))

workers = []

for n in range(8):

workers.append(Thread(target=worker_thread, args=(n,)))

for worker in workers:

worker.setDaemon(False)

worker.start()

worker.join(0)

类调用

#!/bin/env python

#-*- coding:utf-8 -*-

import os

import time

from threading import Thread

class WorkerThread(Thread):

def __init__(self, num):

super(WorkerThread, self).__init__()

self.num = num

def run(self):

time.sleep(1)

print ('ID: {}'.format(self.num))

workers = []

for n in range(8):

workers.append(WorkerThread(n))

for worker in workers:

worker.setDaemon(False)

worker.start()

worker.join(0)

linux shell 流式调用

#!/bin/env python

#-*- coding:utf-8 -*-

import os

import sys

import time

import Queue

import threading

THREAD_NUM = 5

QUEUE_MAX_NUM = 50

def worker_thread(q):

thread_name = threading.current_thread().getName()

while True:

if q.empty():

time.sleep(1e-5)

continue

data = q.get()

if data == 'end':

break

# TODO

workers = []

q = Queue.Queue(QUEUE_MAX_NUM)

for n in range(THREAD_NUM):

workers.append(threading.Thread(target=worker_thread, args=(q,)))

for worker in workers:

worker.setDaemon(False)

worker.start()

for line in sys.stdin:

while q.full():

time.sleep(1e-5)

q.put(line.strip())

for _ in range(THREAD_NUM):

q.put('end')