W poniższym fragmencie kodu,C++ 11 'native_handle' nie jest członkiem 'std :: this_thread'
void foo() {
std::this_thread::native_handle().... //error here
}
int main() {
std::thread t1(foo);
t1.join();
return 0;
}
Jak uzyskać native_handle
z std::this_thread
od wewnątrz funkcji foo
?
myślisz, że coś takiego warto przesłać jako propozycję dla C++ 14? – pyCthon
@NicholasPezolano: W tej chwili nie. Jednak przekonał mnie motywujący przypadek użycia i implementacja demonstrująca to. To znaczy. Myślę, że znam koszt/ryzyko. Ale nie sądzę, że znam tę korzyść. Jeżeli korzyść wynosi zero, to niezależnie od tego, jak niski jest koszt, stosunek korzyści do kosztów jest niski. Więc musisz wykazać dużą korzyść. –
Nie sądzę, że OP koniecznie chce 'std :: thread :: id :: native_handle'. Myślę, że interesujące jest to: czy interfejs 'std :: this_thread' nie powinien naśladować interfejsu' std :: thread'? Z wyjątkiem oczywiście tych członków, którzy odnoszą się do zarządzania życiem wątku, co, jak słusznie wskazujesz, nie ma zbyt wielkiego sensu. To nie pozostawia wiele, ale "native_handle" uderza mnie w widoczny sposób nieobecny. –