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 Tran 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
  • Phone/Zalo: (+84) 944 225 212
  • WhatsApp: (+84) 944 225 212
  • Line Messenger: (+84) 944 225 212
  • Email: [email protected]
  • Telegram Messenger: https:/t.me/tommytran0401

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

 
Hướng dẫn sử dụng Administration Menu và Shortcuts trong Drupal

Hướng dẫn sử dụng Administration Menu và Shortcuts trong Drupal

An OSTraining member recently took our recommendation and installed the Administration Menu module

Quản lý hiện thị Drupal Nodes bằng content Access.module

Quản lý hiện thị Drupal Nodes bằng content Access.module

Sometimes in Drupal there are many solutions to a problem. One such problem is controlling who can see which content on your site.

Giới thiệu Drupal 7 RESTful Services

Giới thiệu Drupal 7 RESTful Services

You can build a RESTful service with Drupal 7, and do it easily. In this post, I will show an easy way to build a snappy RESTful service, that queries the blog posts by date, so you can get the specified amount of blog posts for the specified amount of days.

Wordpress Freelancer

 

Wordpress Freelancer