いいえ、そうではありません。
関数コールバックは、関数のアドレス(または他の識別子)を別の関数に渡して、何らかの理由でコールバックできるようにします。
古典的な例は、C標準ライブラリqsort
関数です。比較関数とともに、配列(およびそのサイズ)へのポインターを渡します。次に、qsort
関数はその比較関数(コールバック)を使用して、リスト内の2つの要素のどちらが大きいかを判断し、それらを順番に並べ替えることができます。
一方、IPCは、共有メモリ、パイプ、セマフォなど、プロセスが相互に通信するための手段です。
一部のIPCメカニズムはコールバックを使用する場合がありますが、必ずしも必要ではありません。たとえば、ソケットはコールバックを使用せず、ユーザーがとを呼び出すことを許可するだけread
ですwrite
。
共有メモリの場合と同様に、メモリブロックに接続して、「通常の」メモリとほとんど同じようにアクセスします。そのメモリに接続されているすべてのプロセスで効果が感じられるだけです。
ある種のコールバックを使用するのは、ONC RPC(またはSun RPC)です。これは、ネットワークを介したクライアント呼び出しを待機するサーバーを実行し、それらを事前構成されたクライアント関数に渡します。詳細については、こちらをご覧ください。
しかし、それでも、コンパイル時に実際に構成されているため、コールバックと呼ぶのは躊躇します。「適切な」コールバックは実行時に行われる傾向があります。