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

 
Theo VietnamWorks, nhà tuyển dụng sẵn sàng trả

Theo VietnamWorks lương của lập trình viên C++ hơn 1.000 USD mỗi tháng

Theo VietnamWorks, nhà tuyển dụng sẵn sàng trả mức lương hơn 1.000 USD một tháng cho lập trình viên có kỹ năng C++, tùy vào số năm kinh nghiệm.

Gaming Becomes Exciting With 3D Bowling App for Android

Gaming Becomes Exciting With 3D Bowling App for Android

The Android market has so many games for users to choose from. The reality is not all these games are that great.

Apple sẽ sử dụng camera 3D lên các sản phẩm tiếp theo

Apple sẽ sử dụng camera 3D lên các sản phẩm tiếp theo

Apple có thể đang trong quá trình chuẩn bị để mang camera 3D lên các thiết bị tiếp theo của hãng.

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

 

Diet con trung