C++ C++;在同一台计算机中使用多个终端的多线程程序示例
我是多线程编程新手。我正在尝试在一台笔记本电脑中使用两个终端运行一个程序。其中,在这两个终端中,它应该注册为user1和user2,在这两个程序开始运行之前,其中一个程序应该使用“thread”或“pthread”等待另一个程序(我不知道区别)。如果用户1将向终端1输入任何消息,则也应在终端2中向用户2显示该消息。 我不知道如何启动代码,即使在研究了这么多次线程之后。请帮忙。先谢谢你C++ C++;在同一台计算机中使用多个终端的多线程程序示例,c++,multithreading,pthreads,C++,Multithreading,Pthreads,我是多线程编程新手。我正在尝试在一台笔记本电脑中使用两个终端运行一个程序。其中,在这两个终端中,它应该注册为user1和user2,在这两个程序开始运行之前,其中一个程序应该使用“thread”或“pthread”等待另一个程序(我不知道区别)。如果用户1将向终端1输入任何消息,则也应在终端2中向用户2显示该消息。 我不知道如何启动代码,即使在研究了这么多次线程之后。请帮忙。先谢谢你 #include <string> #include <iostream> #inclu
#include <string>
#include <iostream>
#include <thread>
using namespace std;
void msg1(string msg) {
cout << "user1 says: " << msg << endl;
}
void msg2(string msg) {
cout << "user2 says: " << msg << endl;
}
int main() {
string message1, message2;
cin >> message1;
thread t1(msg1, message1);
t1.join();
cin >> message2;
thread t2(msg2, message2);
t2.join();
return 0;
}
#包括
#包括
#包括
使用名称空间std;
void msg1(字符串msg){
cout使用线程和多个终端,您试图一次完成太多任务
如果您只需要输出,则后者很容易:只需将内容写入文件,然后在一个终端中运行tailf filename
,它跟随文件的内容。您可以使用std::fstream
来保持熟悉的std::cout
界面
如果您需要输入,事情会变得更复杂。在这种情况下,您需要打开终端窗口和程序之间的双向连接。通信通道可能是TCP或某些本地传输。使用TCP,您可以简单地使用telnet
连接到程序
关于线程,只要阅读上面的任意C++ 11教程。你也可以检查BooS.ToPE的文档,标准线程是从哪里来的。无论如何,你必须自己对这些主题做一些研究,我只是想指出你的正确方向。欢迎StAcExcel!请向我们展示SOM。您已经尝试过的e代码。#include#include#include使用名称空间std;void msg1(string msg){不能在评论中,但请编辑您的问题并将代码放在那里。阅读抱歉,我之前在帖子中找不到编辑按钮。