Trong phần 1 mình có nói sơ qua về Multithreading trong lập trình, tầm quan trọng và cách sử dụng chúng như nào cho đúng. Tiếp theo đây mình nói về việc implement trong lập trình IOS bằng ngôn ngữ swift.
Như mình đã nói ở phần 1, Multithreading giúp chúng ta có thể xử lý nhiều công việc một lúc và đối với việc phát triển ứng dụng cho mobile thì multithreading là thứ mà 1 developer bắt buộc phải sử dụng thường xuyên. Chúng ta đều biết IOS cung cấp cho chúng ta một thread khi khởi chạy ứng dụng đó là main-thread. Nhiệm vụ của main-thread cũng giống như các thread khác đó là xử lý các task developer viết ra, tuy nhiên có một điểm khác biệt đó là chỉ có main-thread có quyền cập nhật UI.
Giả sử khi main-thread đang tải dữ liệu từ server và tính toán thì chúng ta lại muốn tap vào các button hay viết một thứ gì đó và textView, rõ ràng main-thread chỉ xử lý được 1 việc và việc này dẫn tới ứng dụng như bị "đơ" và chúng ta không cảm nhận được một phản hồi nào. Thực tế rằng ngày nay nhiều bạn sử dụng các thư viện networking để xử lý load dữ liệu ( thứ mà đã giúp bạn lấy dữ liệu bằng một thread khác) không hề hay biết rằng nó đang hoạt động theo cơ chế multithread.