小编Bom*_*uin的帖子

如何安全地停止std线程?

我正在开发一个聊天服务器,我有一个问题.

如何std::thread安全停车?

像这样很容易出问题.

thread t(&func);
t.join();
Run Code Online (Sandbox Code Playgroud)

但是,如果func具有无限循环,则连接不起作用.

这是我的来源.

void CServerSocket::AcceptRun(boost::asio::io_service &iosrv)
{
    while (true)
    {
        auto sock = std::make_shared<boost::asio::ip::tcp::socket>(iosrv);
        m_Acceptor->accept(*sock);

        m_SocketList.push_back(std::make_shared<CConnectionSocket>(this, sock));
    }
}
Run Code Online (Sandbox Code Playgroud)

CServerSocket::~CServerSocket()
{
    CLogManager::WriteLog("Stopping Server...");
    m_Acceptor->close();
    m_Acceptor.reset();

    // m_AcceptThread.detach(); This is right?

    CLogManager::WriteLog("Server Stoped!");
}
Run Code Online (Sandbox Code Playgroud)

我很纳闷.请帮我.谢谢.

c++ multithreading join boost-asio

12
推荐指数
2
解决办法
1万
查看次数

如何将图像添加到System.Windows.Forms.ListBox?

我正在使用C#开发聊天程序,我使用ListBox管理昵称列表.但是,客户有昵称和州(在线,离开)

所以,为了管理状态,我想在ListBox中添加图像(在线 - 绿色圆圈,远离红色圆圈)(这是我的想法)

如何将图像添加到ListBox?请帮我.

谢谢.

c# listbox image add winforms

3
推荐指数
2
解决办法
2万
查看次数

标签 统计

add ×1

boost-asio ×1

c# ×1

c++ ×1

image ×1

join ×1

listbox ×1

multithreading ×1

winforms ×1