在服务器上,我有一个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脚本?此外,如果有更好的方法来完成此任务,请告诉我。
答案 0 :(得分:3)
根据您的显示,我没有看到任何需要任何多线程同步的共享资源。每个系统调用python都会产生一个单独的进程。