Callback là gì? Có phải là cuộc điện thoại cần gọi lại hay không? Để được giải đáp thì hãy đọc ngay bài của tôi ngay nhé!

Sau đây, kênh thông tin hỏi đáp sẽ giúp bạn hiểu rõ hơn về callback ngay tại bên dưới

Có thể bạn quan tâm: Tin là gì? Tin có thể được lan truyền như thế nào?

Callback là gì?

callback là gì

Nghĩa này hoàn toàn sai lầm nhé, Callback là gì? Chắc hẳn có rất ít người biết. Callback trong thời sống có 2 loại.

Loại đầu tiên, là Callback trong ngôn ngữjavascript, có vai trò rất quan trọng và khái niệm được sử dụng nhiều để tăng khả năng phát triển của Ajax.

Loại thứ 2, Callback được xem là hàm A (một đoạn code chạy được) trong lập trình máy tính. Nó được sử dụng như là một tham số truyền đến hàn B của phương trình nào đó.

Các ngôn ngữ lập trình sẽ hỗ trợ Callback theo mọi cách khác nhau, thông thường sẽ triển khai dưới dạng hàm nặc danh, chuỗi lệnh, chương trình con hay con trỏ hàm.

Thiết kế callback như thế nào?

Có hai loại callback chính được sử dụng trong lập trình máy tính hiện nay là đồng bộ (blocking callback) và không đồng bộ (asynchronous callback).

Trong đó, callback đồng bộ được gọi trước khi hàm trả về. Thường không được sử dụng để đồng bộ các dữ liệu giữa các thread. Ví dụ đơn giản: Có một lâp trình C phía dưới, hàm callback đồng bộ tại thời điểm này được gọi là hàm main.

Và callback không đồng bộ sẽ là hàm sau trả về. Thường được dùng trong việc sử lý các sự kiện, thực hiện các thao tác ra/vào hoặc gọi từ những lệnh ngắt, từ các tiểu trình (thread).

Callback được ứng dụng đa dạng trong những chương trình có sử dụng giao diện cửa sổ. Trong trường hợp này, một chương trình tạm gọi là hàm X cung cấp hàm callback Y của nó đến hệ điều hành.

Hệ điều hành cũng sẽ gọi là hàm Y, lúc này chương trình X có thể thực hiện các thao tác bắt và xử lý bằng cách click chuột hoặc ấn phím nào đó bằng hàm Y (do hệ điều hành tạo ra.

Vấn đề mà rất nhiều người quan tâm chính là tính bảo mật và quyền hạn thực hiện. Vì chương trình X được tạo ra từ hàm Y nên gọi bởi hệ điều hành. Lúc này, hàm Y không nên có cùng quyền hạn ngang bằng với những hàm khác trong cùng một hệ thống.

Thông tin liên quan: PCS là gì? PCS có ý nghĩa như thế nào?

Cách tạo và cách gọi callback

callback là gì

Assembly, C, C++, Pascal, Modula2 cùng nhiều ngôn ngữ khác có thể sử dụng giống như một tham số cho 1 hàm khác. Điều này được hỗ trợ từ những lần biên dịch và cho phép sử dụng nhiều ngôn ngữ cùng một lúc mà không cần phải phân chia ra.

Ví dụ như Windows API có thể “gom” rất nhiều trình biên dịch và nhiều ngôn ngữ lập trình khác nhau. Có nhiều loại ngôn nhữ thông dịch cho phép người dùng có thể định nghĩa hàm số như Lua, Python, Javascript, Perl và PHP.

Trong lập trình hướng đối tượng, nếu sử dụng một ngôn ngữ không cho phép dùng những hàm làm tham số giống như ham trong phên bản Java phiên < 8. Lúc này bạn sẻ sử dụng callback để “điều khiển” đối tượng của lớp dạng interface hoặc abstract làm tham số. Cách dùng callback này thường để kèm theo việc cài đặt các design pattern như: Observer, Visitor và Strategy.

Tổng kết

Mong rằng với thông tin rõ về callback là gì thìbạn sẽ hiểu thêm nhiều lợi ích về cách sử dụng hàm lượng này ra sao. Để biết thêm nhiều thông tin hay ho về cuộc sống. Hãy theo dõi bài viết khác của tôi nữa nha!