1. 1 tiến trình có thể tạo tối đa bao nhiêu thread, có công thức nào để tính hay không, làm sao mình biết tạo bao nhiêu thread thì tốt cho hệ thống.
2. Vì các thread có thể sử dụng tài nguyên của thread khác trong cùng 1 tiến trình, vậy mình muốn tài nguyên của thread này không muốn các thread khác xài, sử dụng, mình sợ bị override tài nguyên đó, mình không kiểm soát được, vậy phải làm sao
Cảm ơn bạn đã đặt câu hỏi. Vì bạn đặt câu hỏi trong post về async IO nên mình muốn làm rõ, async IO là mô hình đơn luồng, đơn tiến trình (single-thread, single-process) nên nó sẽ không liên quan gì tới multiple thread hay multiple process. Bạn có thể đọc lại ở phần https://cryptography101.substack.com/i/170429005/nhung-khai-niem-de-gay-nham-lan để tránh nhầm lẫn. Về 2 câu hỏi của bạn mình trả lời như sau:
1. Không có một con số cố định 1 process co thể tạo bao nhiêu thread, nó tuỳ thuộc vào hệ điều hành, bộ nhớ, ... Để biết thế nào là "tốt", thì đầu tiên mình phải định nghĩa thế nào là "tốt". Từ đó có thể áp dựng phương pháp thử-sai. Và bạn phải xem có thực sự ứng dụng của bạn cần đa luồng hay là cần lập trình bất đồng bộ (async)
2. Trong Python, lập trình multiple thread có một vài khái niệm như Lock, Semaphore, Event ... bạn cần nắm rõ để có thể làm tự tin làm việc với multi threading. Bạn có thể tham khảo tại đây: https://docs.python.org/3/contents.html
Hi admin, mình muốn hỏi là:
1. 1 tiến trình có thể tạo tối đa bao nhiêu thread, có công thức nào để tính hay không, làm sao mình biết tạo bao nhiêu thread thì tốt cho hệ thống.
2. Vì các thread có thể sử dụng tài nguyên của thread khác trong cùng 1 tiến trình, vậy mình muốn tài nguyên của thread này không muốn các thread khác xài, sử dụng, mình sợ bị override tài nguyên đó, mình không kiểm soát được, vậy phải làm sao
Cảm ơn bạn đã đặt câu hỏi. Vì bạn đặt câu hỏi trong post về async IO nên mình muốn làm rõ, async IO là mô hình đơn luồng, đơn tiến trình (single-thread, single-process) nên nó sẽ không liên quan gì tới multiple thread hay multiple process. Bạn có thể đọc lại ở phần https://cryptography101.substack.com/i/170429005/nhung-khai-niem-de-gay-nham-lan để tránh nhầm lẫn. Về 2 câu hỏi của bạn mình trả lời như sau:
1. Không có một con số cố định 1 process co thể tạo bao nhiêu thread, nó tuỳ thuộc vào hệ điều hành, bộ nhớ, ... Để biết thế nào là "tốt", thì đầu tiên mình phải định nghĩa thế nào là "tốt". Từ đó có thể áp dựng phương pháp thử-sai. Và bạn phải xem có thực sự ứng dụng của bạn cần đa luồng hay là cần lập trình bất đồng bộ (async)
2. Trong Python, lập trình multiple thread có một vài khái niệm như Lock, Semaphore, Event ... bạn cần nắm rõ để có thể làm tự tin làm việc với multi threading. Bạn có thể tham khảo tại đây: https://docs.python.org/3/contents.html