我应该在从start函数开始的所有函数调用中使用多处理吗?

2024-09-30 08:33:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道我是否在标题中表达了我的意图。欢迎您改进。
让我们看看这个例子:
我希望我的站点A的用户可以执行一些操作来更改站点B中的某些数据。
因此,我在站点B中模拟了登录和两个操作。
这意味着当用户通过站点a帐户登录我的站点时,我应该发布3个帖子。
我有三个功能:

def login(name,pwd):
    ....
    token = get_token(name,pwd)
    set_config(token)
    open_something(token)
    ....

def set_config(toekn):
    ....

def open_something(toekn):
    ....

我知道线程模型,但我必须建立一个类来使用它,这似乎有点不方便和优雅。 我知道互斥,如下所示,但它似乎有效地一次只运行一个线程

def login(name,pwd):
    mutex.acquire()
    try:
        print('Do some stuff')
    finally:
        mutex.release()

所以我想我必须使用多重处理。
我想知道如果我只使用下面的代码,它是否会工作。或者我应该如何编写代码

def login(name,pwd):
    ....

if __name__ == '__main__':
    p = Process(target=login, args=(name,pwd))
    p.start()
    p.join()

Tags: 代码用户nametokenconfig站点defpwd
1条回答
网友
1楼 · 发布于 2024-09-30 08:33:46
if __name__ == '__main__':
    p = Process(target=login, args=(name,pwd))
    p.start()
    p.join()

应该有用。但它和

if __name__ == '__main__':
    p = Thread(target=login, args=(name,pwd))
    p.start()
    p.join()

这和

if __name__ == '__main__':
    login(name, pwd)

相关问题 更多 >

    热门问题