- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在下面的代码片段中,
void foo() {
std::this_thread::native_handle().... //error here
}
int main() {
std::thread t1(foo);
t1.join();
return 0;
}
如何从函数 foo
中的 std::this_thread
获取 native_handle
?
最佳答案
线程无法自动获得对其自身 std::thread
的访问权。这是有意为之的,因为 std::thread
是一种只能移动的类型。
我相信您要求的是 std::thread::id
的 native_handle()
成员,这是一个有趣的建议。据我所知目前是不可能的。它会像这样使用:
void foo()
{
auto native_me = std::this_thread::get_id().native_handle();
// ...
}
它不能保证有效,甚至不存在。但是我想大多数 POSIX 平台都可以支持它。
尝试更改 C++ 标准的一种方法是提交问题。 Here是如何操作的说明。
关于C++11 'native_handle' 不是 'std::this_thread' 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16259257/
我正在编写一些 asio/tcp 服务器,并希望将 native 套接字描述符映射到 tcp session 标识符。我写的 id getter 是这样的: inline int get_sessio
我正在创建一个 std::thread,然后尝试获取 native 句柄(它将用于设置线程名称)。 auto mThread = std::thread(threadActionFcn); #ifde
我正在将之前围绕 pthreads 的线程包装器转换为 std::thread。但是 c++11 没有办法取消线程。尽管如此,我还是需要取消线程,因为它们可能正在外部库中执行非常冗长的任务。 我正在考
在下面的代码片段中, void foo() { std::this_thread::native_handle().... //error here } int main() { std::t
在下面的代码片段中, void foo() { std::this_thread::native_handle().... //error here } int main() { std::t
C++11 函数有什么区别get_id()和 native_handle() ? 在我创建的测试程序中,它们返回相同的 int他们线程的值(value)所以我不知道有什么区别。 我在 Windows
我开始练习使用 C++11 std::thread。通常,对于 Win32,只要我有线程句柄,我就需要调用 CloseHandle。当我使用 C++11 native_handle 时,是否仍需要调用
我需要通过 msys 上的 Windows SDK 在 Windows 上挂起一个线程。我试过类似的东西 std::thread thread(somefunction, someparameters
我是一名优秀的程序员,十分优秀!