boost线程移动分配与移动构造函数

| Boost.Thread库规范,用于移动构造函数的状态 移动构造函数:   效果:转让所有权   由其他(如果有)管理的线程   新建的boost :: thread   实例。 而对于移动分配:   转移线程的所有权   由其他人(如果有)对* this管理。   如果以前有线程   与* this然后那个线程关联   分离。 显然,对于移动分配,明确声明了先前的线程对象已分离。 由于尚未定义boost :: thread对象的复制,并且只能移动所有权,这是否意味着在使用Move Constructor时,先前的所有者线程不会分离? 还是仅仅是文档监督?     
已邀请:
你误会了标记线程对象A和B,以及实际线程T。 如果B拥有T,则从B构造A意味着A现在拥有T,而B不拥有任何东西。 如果B拥有T,那么从B分配A的动作意味着A现在拥有T,而B不拥有任何东西,并且A以前拥有的任何东西都不归任何东西所有(aka,独立)。     
这是一个移动构造函数-如果该对象刚刚存在,可以拥有哪个先前的所有者?     
区别在于,在移动构造时,新线程对象以前不存在,因此它没有先前的线程。 移动分配时,您以两个线程对象开始,并以至少其中一个为空结束。     

要回复问题请先登录注册