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

 
Kết nối 2 máy Laptop với nhau bằng Wireless

Kết nối 2 máy Laptop với nhau bằng Wireless

Các máy vi tính xách tay (Laptop) thường có sẵn thiết bị truy cập mạng không dây (Wireless), bạn có thể dùng thiết bị này để nối mạng 2 máy Laptop với nhau để Copy dữ liệu, sử dụng chung các ổ dĩa của nhau...

Samsung sắp ra mắt Chromebook màn hình 2560 x 1600 pixel giá rẻ

Samsung sắp ra mắt Chromebook màn hình 2560 x 1600 pixel giá rẻ

Theo Business Korea, Samsung chuẩn bị phát hành mẫu Chromebook thế hệ mới sử dụng chip Exynos 5 Octa mới với 8 nhân xử lí cùng màn hình độ phân giải lên đến 2560 x 1600 pixel.

Thuật toán mới của Google hại doanh nghiệp SEO

Thuật toán mới của Google hại doanh nghiệp SEO

Mới đây, Google tuyên bố đã áp dụng thuật toán mới cho cỗ máy tìm kiếm của mình để danh sách kết quả "công bằng" hơn, với những website có nội dung "gốc,"...

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

 

Diet con trung