Không, không thực sự.
Chức năng gọi lại đang chuyển địa chỉ (hoặc một số số nhận dạng khác) của một hàm đến một hàm khác để nó có thể gọi lại vì một lý do nào đó.
Ví dụ cổ điển là thư viện chuẩn của hàm qsort
. Bạn chuyển một con trỏ tới mảng (và các kích thước của nó), cùng với một hàm so sánh. Hàm qsort
sau đó sử dụng hàm so sánh đó (gọi lại) để quyết định xem có bất kỳ hai phần tử nào trong danh sách lớn hơn để nó có thể sắp xếp chúng theo thứ tự hay không.
IPC, mặt khác, là một phương tiện cho các quá trình giao tiếp với nhau, chẳng hạn như bộ nhớ dùng chung, đường ống, semaphores và vv.
Một số cơ chế IPC có thể sử dụng gọi lại nhưng không cần thiết. Ví dụ: ổ cắm không sử dụng gọi lại, chúng chỉ cho phép người dùng gọi read
và write
.
Tương tự với bộ nhớ dùng chung, bạn đính kèm vào khối bộ nhớ và chỉ cần truy cập chúng giống như bộ nhớ "thông thường", nó chỉ là cảm nhận trên tất cả các quy trình được gắn với bộ nhớ đó.
Một trong đó không loại gọi lại là ONC RPC (hoặc Sun RPC). Nó chạy một máy chủ đang chờ các cuộc gọi của khách hàng qua mạng và chuyển chúng đến một chức năng máy khách được cấu hình trước. Chi tiết hơn có thể được tìm thấy here.
Nhưng, thậm chí sau đó, tôi sẽ do dự gọi đó là một cuộc gọi lại vì nó thực sự được cấu hình tại thời gian biên dịch. Các callback "đúng" có xu hướng được thực hiện trong thời gian chạy.
+1 không thể đánh bại câu trả lời này (đơn giản này) một cách đơn giản và toàn diện –
@paxdiablo: Chức năng gọi lại: -Một số lý do có nghĩa là nhận được một số dữ liệu ... do đó chúng tôi nhận được từ IPC bằng cách sử dụng ổ cắm hoặc đường ống và tất cả –
"Một số cơ chế IPC có thể sử dụng gọi lại nhưng không cần thiết." - Sẽ tốt nếu điều này có thể được xây dựng. – Jay