python中进程与线程详解

进程与线程是学习任何一门语言都避不开的一个问题,所以这里来探讨一下进程与线程的区别与介绍

1.进程,在电脑中每个程序就相当于是一个进程,进程负责管理程序各个功能的执行,它与程序就是一个整体。进程有着指挥线程的权利

2.线程,每个进程里面至少有一个线程,线程才是真正卖苦力干活的人,它是具体做事的。线程是控制任务执行的最小单位。

3.打个比方,一个公司研发了什么产品,在社会上人人都知道了这个公司研发了什么产品,但是公司是什么,又不是活的怎么会研发产品呢,实际上干的还不是里面的员工,在这里苦逼的员工就是线程,公司或者说公司的领导层就是进程。

主线程和分线程:

代码运行默认都是在主线程里面,如果需要执行新的任务,可以开辟分线程

分线程个数没有限制,分线程里面的任务结束后,分线程结束

分线程之间互相独立,互不影响

import threading
#获取当前线程的名称
print('当前线程为',threading.current_thread().name)
def myThread():
    print('位置1',threading.current_thread().name)
    print('位置2', threading.current_thread().name)
    print('位置3', threading.current_thread().name)
    print('位置4', threading.current_thread().name)
    print('位置5', threading.current_thread().name)
    print('位置6', threading.current_thread().name)
# myThread()
class People(object):
    def thread_test(self):
        print('对象方法',threading.current_thread().name)
p=People()
p.thread_test()
# threading.Thread开辟一个新的线程 target目标
sub_thread=threading.Thread(target=myThread,name='newThread')
sub_thread.start()

print('outside1',threading.current_thread().name)
print('outside2',threading.current_thread().name)
print('outside3',threading.current_thread().name)
print('outside4',threading.current_thread().name)
print('outside5',threading.current_thread().name)

看这段代码myThread()在分线程中,后面几行输出的在主线程中,他们的输出顺序是不确定的,因为他们是同时运行的,这就是多线程的一个特点。

这也达到了异步的目的,但异步与多线程不是完全一样的,异步是目的,多线程是一种手段,想要实现异步还可以有其他的方法。

猜你喜欢

转载自blog.csdn.net/qq_37958990/article/details/81349644