python:线程

2018-06-18 01:12:09来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

线程

1,线程与进程

进程:执行中的程序。进程可以处理一个任务。对于一个人来说一个人就是一个进程。进程被包含着线程。

线程:轻量级的进程。一个时间点只做一件事。一个人可以做的多件事情,每一件事情都是一个线程。

2,线程是CPU调度的最小单位。进程是资源分配的最小单位

3,开启线程的时空开销 都比 开启进程要小,且cpu在线程之间切换比在进程之间切换快。

4,一个程序中 可以同时有多进程和线程

1)调用模块开启线程

import os
import time
from threading import Thread

def func():    # 子线程
    time.sleep(1)
    print('hello world',os.getpid())
thread_lst = []
for i in range(10):
    t = Thread(target=func)
    t.start()
    thread_lst.append(t)
[t.join() for t in thread_lst]
print(os.getpid())   # 主线程

2)调用类开启线程

import os
import time
from threading import Thread

class MyThread(Thread):
    count = 0         # 静态属性
    def __init__(self,arg1,arg2):
        super().__init__()
        self.arg1 = arg1
        self.arg2 = arg2
    def run(self):
        MyThread.count += 1
        time.sleep(1)
        print('%s,%s,%s,%s'%(self.arg1,self.arg2,self.name,os.getpid()))

for i in range(10):
    t = MyThread(i,i*'*')
    t.start()
print(t.count)

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:芝麻HTTP: 1.9.3-Scrapyd-Client的安装

下一篇:武道之路-炼体期五重天