Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;在同一台计算机中使用多个终端的多线程程序示例_C++_Multithreading_Pthreads - Fatal编程技术网

C++ C++;在同一台计算机中使用多个终端的多线程程序示例

C++ C++;在同一台计算机中使用多个终端的多线程程序示例,c++,multithreading,pthreads,C++,Multithreading,Pthreads,我是多线程编程新手。我正在尝试在一台笔记本电脑中使用两个终端运行一个程序。其中,在这两个终端中,它应该注册为user1和user2,在这两个程序开始运行之前,其中一个程序应该使用“thread”或“pthread”等待另一个程序(我不知道区别)。如果用户1将向终端1输入任何消息,则也应在终端2中向用户2显示该消息。 我不知道如何启动代码,即使在研究了这么多次线程之后。请帮忙。先谢谢你 #include <string> #include <iostream> #inclu

我是多线程编程新手。我正在尝试在一台笔记本电脑中使用两个终端运行一个程序。其中,在这两个终端中,它应该注册为user1和user2,在这两个程序开始运行之前,其中一个程序应该使用“thread”或“pthread”等待另一个程序(我不知道区别)。如果用户1将向终端1输入任何消息,则也应在终端2中向用户2显示该消息。 我不知道如何启动代码,即使在研究了这么多次线程之后。请帮忙。先谢谢你

#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){不能在评论中,但请编辑您的问题并将代码放在那里。阅读抱歉,我之前在帖子中找不到编辑按钮。