Bài 5 nodejs: Single Thread và Multi-threads

Bài 5 nodejs: Single Thread và Multi-threads

  • Thread: Trong một môi trường vi tính, thread có thể như là một danh sách liệt kê những dữ kiện, công việc phải làm theo thứ tự trước sau. Môi trường single thread là một môi trường vi tính chỉ có 1 thread mà thôi. Suy ra, môi trường multi-threads là môi trường ứng dụng nhiều threads cùng một lúc.

  • Thế single thread hay multi-threads tốt hơn? Tùy theo ứng dụng của môi trường vi tính. Với nhiều tính toán hiểm hóc (tính số nguyên tố chẳng hạn) multi-threads tốt hơn, tuy nhiên ứng dụng IO như lập trình mạng single thread - non-blocking IO thực dụng hơn.

  • Tưởng là càng nhiều threads càng tốt chư'? Tùy. Một điểm bất lợi cho nhiều threads là phải bảo quản hệ thống threads. Càng nhiều thread thì việc bảo quản càng phức tạp hơn, tỉ lệ thuận với độ polynomial.

  • Thế xưa chưa có node.js thì làm sao? Thì hệ thống multi-threads được dùng nhưng khi website trở nên to, nhiều người truy cập, nhiều IO multi-threads không còn thực tế nữa vì hệ thống bảo quản threads còn phức tạp, tốn nhiều công hơn là công dụng của website.

  • Thế Single Thread có gì lợi hơn? Ít nhất là không tốn nhiều công để bảo quản hệ thống threads bởi chỉ có 1 thread. Ngoài ra môi trường 1 thread dễ khuếch trương (scale up) hơn và rẻ hơn là với multi-threads.

  • Thế chỉ có 1 thread thì làm sao take care nhiều jobs? Chỉ việc làm 1 thread chạy nhanh hơn thôi. Nếu hệ thống quá to thật to thì người ứng dụng hệ thống nhiều threads nhưng hợp lại như chỉ chạy có 1 thread. Cũng kiểu như bện nhiều dây tơ nhỏ thành một dây thừng lớn vậy đó. Tùy theo bao nhiêu nặng thì bện càng nhiều tơ. Kết quả thì cũng chỉ có 1 thừng.

  • Thế kiểu 1 thread này người ta đã biết lâu rồi sao bây giờ mới thực hiện? Hiểu biết về hiện tượng trên lý thuyết này đã có từ lâu nhưng những ai biết về hiện tượng này thì lại không thông suốt về ngôn ngữ lập trình; người thông suốt về ngôn ngữ lập trình lại thiếu hiểu biết về compilers, interpreters; những người biết về compilers interpreters lại không rành về vấn đề của threads. Vòng vòng. Cho đến khi ngôn ngữ JavaScript trưởng thành, Google chế ra V8 Engine cho JavaScript và Ryan Dahl chụp lấy cơ hội này tạo ra node.js.

  • Thế non-Blocking IO ăn thua gì đến single thread? Hai sự kiện này tương hỗ với nhau. non-Blocking IO sẽ được đề cập trong những posts tới.

Bạn thấy bài viết này như thế nào?: 
Average: 5 (2 votes)
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Tìm kiếm bất động sản

 

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
blogspot

Cộng đồng Blogger Việt điêu đứng vì Blogspot bị chặn tại Việt Nam

Những ngày gần đây, cộng đồng blogger Việt lại một phen điêu đứng trước việc các nhà mạng trong nước liên tục chặn dịch vụ này và gần như các trang sử dụng blogspot dạng subdomain.blogspot.com không thể truy cập và nếu có cũng phải dùng proxies hay công cụ của bên thứ 3 hoặc ít nhất phải dùng domain riêng. Đây có thể là một thực tế đã được dự báo trước?

Hướng dẫn chạy Drupal từ OpenShift from Red Hat

Hướng dẫn chạy Drupal từ OpenShift from Red Hat

OpenShift supports any web applications that run on Red Hat Enterprise Linux. This allows a wide range of languages and frameworks. OpenShift takes care of maintaining the services underlying the application and scaling the application as needed.

Samsung được cấp giấy phép thiết kế VXL ARM 64 bit

Samsung được cấp giấy phép thiết kế VXL ARM 64 bit

Việc Samsung được cấp giấy phép thiết kế VXL ARM 64 bit cho thấy hãng sản xuất chip này có thể mở rộng phạm vi từ smartphone và MTB để nhảy vào thị trường máy chủ.

Công ty diệt chuột T&C

 

Diet con trung