python程序可以通过库和模块来实现多线程操作,而多线程中有一个叫做共享内存以及共享变量的机制,很多人对这个就不太了解。那么这一篇文章,小编会来详细介绍python多线程共享内存以及共享变量是如何理解的,感兴趣的话就一起往下看看吧。
一、多线程原理
那么在此之前需要了解一下多线程实现的原理是什么,当我们运行一个python程序之后就会创建一个进程,而这个进程是要占用内存空间消耗资源的。那么在这个程序中使用一个功能就会创建出线程,在它没有关闭或者还在执行时又去启动另外一个功能,那么就还会创建出线程,这个就是多线程原理。
二、共享变量
那么在python之中调用一个函数就相当于创建出线程,而每个函数调用时它们实际上都同时处在一个python程序进程中。而进程中的内存是共享的,python变量创建后会在内存空间中来保存实际值。
所以当多线程是可以来使用这个进程中所有资源的,这个资源在python中叫做变量,而实际上它们是保存在内存空间中的值,代码示例如下所示:
import threading count=10 def modifycount(nums): t=threading.current_thread() t.name = count def printcount(nums): t=threading.current_thread() count = 30 t=threading.Thread(target=modifycount,args=(nums,)) t2=threading.Thread(target=printcount,args=(nums,)) t.start() t2.start() t.join() t2.join()
以上代码就是创建出来了两个函数,然后将这个两个函数作为线程任务创建并且去执行,执行过程之中count这个变量就是它们都可以使用的共享变量。所以当第二个线程修改这个函数之后,第一个线程再去调用这个函数就已经是修改后的值了。
以上就是关于“Python多线程共享内存是什么?Python多线程共享变量如何理解”的全部内容了,希望对你有所帮助。