#include <pthread.h>
#include <iostream>
using namespace std;
void OnCreateThread()
{
cout << "Create a thread." << endl;
}
void OnExitThread()
{
cout << "Exit a thread." << endl;
}
void f(void*) {}
int main()
{
//
// What to do here ???
//
pthread_t dummy;
pthread_create(&dummy, 0, f, 0);
pthread_create(&dummy, 0, f, 0);
while (true);
}
код создает две собственные потоки, кроме std::thread
, и я хочу его вывести следующим образом:Как вызвать функцию при создании и выходе потока?
Create a thread. Create a thread. Exit a thread. Exit a thread.
Это может быть сделано под Windows, с помощью функции FlsXXX.
Однако я не знаю, можно ли это сделать в Linux.
Есть ли стандартный способ под Linux?
Вы хотите знать, как использовать 'pthread_create', или вы хотите знать, как получить желаемый результат? – Chad
Вы найдете все функции потоков, задокументированные на странице [pthreads (7)] (http://manpages.courier-mta.org//htmlman7/pthreads.7.html). Если он не зарегистрирован там, его не существует. Ответ здесь, в буквальном смысле, RTFM. –
Если вы не можете зарегистрировать эти функции, вы все равно можете скрыть pthread_create. Я просто шучу... – felix