私は次のクラスを持っています:
class A
{
private:
int starter()
{
//TO_DO: pthread_create()
}
void* threadStartRoutine( void *pThis );
}
starter() 内からスレッドを作成して、threadStartRoutine() を実行したいと考えています。開始ルーチンのアドレスを取る必要がある 3 番目の引数に関して、コンパイル時エラーが発生します。
pthread_create() を呼び出して、 threadStartRoutine() の実行を開始する新しいスレッドを作成する正しい方法は何でしょうか?
私は、ほとんどのコンパイラが pthread_create() を使用して非静的メンバー関数を呼び出すことを許可していないという記事をオンラインで見つけました。これは本当ですか?この背後にある理由は何ですか?
G++ を使用して Linux-x64 でプログラムをコンパイルしています。