从哪里开始用c ++进行多线程编程?

Zam*_*nji 3 c++ multithreading

我正在尝试将我自己的IRC客户端作为个人项目实现,我意识到我需要一种同时从套接字读取和写入的方法.我意识到我可以有一个读取线程,它在后台从套接字读取并将数据放入队列中,我可以有另一个线程将数据从队列写入套接字.但是我不知道如何开始使用多线程编程或如何使用c ++.我从哪里开始?

Mic*_*yan 10

对于C++线程,boost :: thread(这是即将推出的基础std::thread)是最好的方法.也就是说,虽然线程可能是针对您的特定情况的正确解决方案,但我只是想把它抛出那里,选择和非阻塞套接字是交错读取/写入和写入多个套接字而不需要线程的常用方法.所述升压:: ASIO库包装选择和非阻塞插座的功能在一个跨平台,C++的方式.

  • 一旦有boost.threads,它只是boost.asio的一小步,它也可以处理OP的那些套接字. (2认同)

Mic*_*fik 5

它特定于C和*nix,但我想不出比Beej的网络编程指南更好的起点."你将向指示我的绝地大师学习."

您将学习读取和写入套接字的基础知识,更重要的是,多线程不一定是正确的答案.

  • @thyrgle,我正在回答"在C++中实现一个IRC客户端"问题,这个问题半隐藏在OP中.我*天真地试图在这里提供帮助.该问题的案文暗示OP在这一材料的学习阶段很早.在那个阶段很难提出正确的问题. (3认同)