多线程c ++打破了引发未知异常的代码

时间:2014-04-24 02:34:16

标签: c++ multithreading

我正在尝试用c ++探索多线程。让我给你我的代码

Class Sender{
run();
start(){
         start a thread with run std::thread pSt(&Sender::run, this);
        pSt.join()
       }
}

Class SendRunThread{
    void run(Sender sndr_)
    {
        sndr_.start();
    }
}

现在 我在main方法中有以下几行代码

Sender sndr1();
SendRunThread *s = new SendRunThread(); 
std::thread t1(&SendRunThread::run, s,sndr1);       
t1.join();
delete s;

Sender sndr2();
SendRunThread *s1 = new SendRunThread();
std::thread t2(&SendRunThread::run, s1, sndr2);     
t2.join();
delete s1;

如果我有一个sndr对象,则该线程完全正常。如果我用2个sndr对象尝试它就会中断。如果有人解释我原因,我会很高兴的。

0 个答案:

没有答案