gpt4 book ai didi

c++ - 如何在 C++ 中创建一个构造函数来创建线程开始运行时应该返回的 pthread

转载 作者:行者123 更新时间:2023-11-30 02:02:34 26 4
gpt4 key购买 nike

我想为我的线程类创建一个构造函数,它可以创建一个线程,当线程在入口点开始运行时它应该返回

入口点将是一些将在运行时传递的类函数。派生类函数不能更改,它不会更新任何可以检查的共享变量。

如何确保我创建的 pthread 在我指定的入口点开始执行

最佳答案

这不是个好主意。

首先运行基类的构造函数。因此,如果基类构造函数直到线程到达入口点才返回,则线程正在构造函数尚未运行的对象内运行。因此完全没有入门。

如果入口点是在派生类型中定义的虚方法,那么您肯定调用了未定义的行为。

这也是为什么大多数线程类不是这样设计的。通常你创建线程对象。然后调用类似 start() 的方法,该方法运行作为参数传递的函数/方法或可运行对象。这样您就知道表示线程的对象已完全构建并且所有成员都已正确初始化。

关于c++ - 如何在 C++ 中创建一个构造函数来创建线程开始运行时应该返回的 pthread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13056912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com