スレッドとコールバックについて一般的な質問があります。たとえば、メインプログラムと一緒に継続的に実行されているスレッドがあるとします。
メインプログラムは、スレッドにコールバック関数を登録しました。したがって、スレッドはいつでもコールバック関数を呼び出すことができます。通常、スレッドに関数ポインタを渡すことでコールバックを登録します。そのコールバック関数がスレッドによって呼び出されるのはいつか、それはそのスレッドの一部になるのか、それともメインプログラムの一部になるのかを知りたいのです。コールバックがスレッドによって呼び出されたときにメインプログラムの実行がどのように停止または中断されるかなど、このプロセスのメカニズムを知りたいです。もう1つは、コールバックが呼び出されたときに関数呼び出しスタックがどのように動作するかです。