我正在尝试用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对象尝试它就会中断。如果有人解释我原因,我会很高兴的。