Biết về Node.js và MongDB (phần 7)

Tính đồng thời với Javascript trong trình duyệt và Node.js

Một dải cơ bản và đặc biệt của Javascript là rằng hầu hết các hàm API là không đồng bộ theo mặc định. Cái này có
nghĩa rằng code không đơn giản chạy thành chuỗi trong đó nó được định nghĩa. Cụ thể là, Javascript là thúc đẩy bởi
sự kiện. Trong trình duyệt, cái này có nghĩa rằng Javascript code sẽ chạy vì các tương tác người dùng. Ví dụ, khi
một nút được click, chúng ta định nghĩa một onClick handler để thực thi một vài code.
Về phía máy chủ, các hoạt động đầu vào/đầu ra, như đọc và viết các files, và các yêu cầu mạng được xử lí không
đồng bộ. Cái này có nghĩa rằng chúng ta có thể xử lí nhiều yêu cầu mạng cùng một lúc, mà không phải làm việc với
các threads hay nhiều quá trình bản thân chúng ta. Cụ thể là, trong Node.js, libuv chịu trách nhiệm cho gán các
threads cho các hoạt động I/O trong khi cung cấp cho chúng ta, như một lập trình viên, truy cập tới một thread
runtime đơn để viết code của chúng ta vào. Tuy nhiên, cái này không có nghĩa rằng mỗi kết nối tới backend của
chúng ta sẽ tạo một thread mới. Các threads được tạo hoạt động khi lợi thế. Như một nhà phát triển, chúng ta không
phải làm việc với multi-threading và có thể tập trung vào phát triển với code không đồng bộ và các callbacks.

Chia sẻ