加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 编程开发 > Python > 正文

python C 我应该使用fork还是thread?

发布时间:2023-12-22 09:35:27 所属栏目:Python 来源:DaWei
导读: 在我的脚本中,我有一个函数foo,它基本上使用pynotify在15分钟的时间间隔之后反复通知用户.


def foo:
while True:
"""Does something"""
time.sleep(900)
我的

在我的脚本中,我有一个函数foo,它基本上使用pynotify在15分钟的时间间隔之后反复通知用户. def foo: while True: """Does something""" time.sleep(900)

我的主要脚本必须与用户&做所有其他事情所以我不能调用foo()函数.直.

Whats the better way of doing it and why?
Using fork or threads?

解决方法 我不会告诉你使用哪一个,但这里有一些优点:

线程可以比进程更快地启动,并且线程使用比进程更少的操作系统资源,包括内存,文件句柄等.线程还为您提供了通过共享变量进行通信的选项(尽管许多人会说这比一个更不利于优势 C 见下文).

每个进程都有自己独立的内存和变量,这意味着进程通常通过相互发送消息进行通信.这比线程通过共享内存进行通信要容易得多.进程也可以真正同时运行,因此如果您有多个CPU核心,您可以让所有进程忙于使用进程.在Python *中,global interpreter lock可以防止线程多次使用多个核心.

* C 也就是CPython,如果你去http://python.org并下载Python就可以获得Python的实现.其他Python实现(例如Jython)不一定禁止Python同时在多个CPU上运行线程.感谢@EOL的澄清.

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章