优草派  >   Python

Python多线程共享内存是什么?Python多线程共享变量如何理解

罗西汉            来源:优草派

python程序可以通过库和模块来实现多线程操作,而多线程中有一个叫做共享内存以及共享变量的机制,很多人对这个就不太了解。那么这一篇文章,小编会来详细介绍python多线程共享内存以及共享变量是如何理解的,感兴趣的话就一起往下看看吧。

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多线程共享变量如何理解”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。