1

在服务器上,我有一个 C++ 程序,它接受一些输入并将一些输出写入文件。生成文件后,我想向具有文件相应链接的人发送电子邮件。

我宁愿避免从 C++ 本身处理 SMTP,所以我考虑让 C++ 使用系统调用来执行 python 脚本,该脚本反过来会处理电子邮件过程。

在 C++ 中:

system("python emailer.py foo@bar.com filetodownload.txt");

在 Python 中:

import sys
email = sys.argv[1]
file = sys.argv[2]
// handle SMTP emailing...

我对这种简单的方法有疑问。C++ 程序是多线程的,因此可能有多个线程想要调用 python 脚本来发送电子邮件。这是一个问题吗?一个(同样简单的)解决方案是否会在 C++ 程序中有一个互斥变量,它一次只允许一个线程调用 python 脚本?另外,如果有更好的方法来完成这项任务,请告诉我。

4

1 回答 1

3

从您所展示的内容来看,我看不到任何需要任何多线程同步的共享资源。对 python 的每个系统调用都会产生一个单独的进程。

于 2013-01-23T23:13:27.043 回答