Tôi đang cố gắng tìm ra sự khác biệt giữa một chuỗi và trình xử lý. Việc tạo một trình xử lý mới có tạo một chuỗi mới không ?. Khi một trình xử lý mới được chạy bằng cách sử dụng post(), nó có tạo ra một luồng mới không? Vui lòng giải thíchSự khác biệt giữa Chủ đề và Trình xử lý
Trả lời
Chủ đề là các tác vụ xử lý chung có thể thực hiện hầu hết mọi thứ, nhưng một điều họ không thể làm là cập nhật giao diện người dùng.
Trình xử lý mặt khác bị ràng buộc vào chủ đề cho phép bạn giao tiếp với chuỗi giao diện người dùng (cập nhật giao diện người dùng).
Vì vậy, ví dụ hiển thị bánh mì nướng hoặc cập nhật thanh tiến trình qua một tin nhắn (Runnable) được gửi tới trình xử lý nhưng bạn không thể nếu bạn bắt đầu chuỗi này dưới dạng chuỗi.
Với trình xử lý, bạn cũng có thể có những thứ như MessageQueuing, lập lịch và lặp lại.
Tôi chưa gặp phải tình huống mà tôi cần một chuỗi trong Android.
Tôi chủ yếu sử dụng kết hợp AsyncTask và Trình xử lý.
Trình xử lý cho các tác vụ nói trên.
AsyncTasks để tải về/dữ liệu quyến rũ và bỏ phiếu, vv
Bạn có thể đọc bài viết phát triển ở đây "Painless Threading" cho luồng hơn trong Android.
Chỉnh sửa: Mỗi phiên bản Trình xử lý được liên kết với một chuỗi đơn lẻ và hàng đợi tin nhắn của chuỗi đó. Họ không phải là chủ đề thay mặt cho họ. như được mô tả here.
Một chuỗi xác định quy trình đang chạy. Giống như bạn có một chủ đề chính (giao diện người dùng) trong Android. và tất cả các chủ đề khác chạy trong nền. (song song).
Handler là hoàn toàn khác nhau, nó cũng giống như bắt đầu nhiệm vụ quy định tại một handler ..
để xóa bỏ mọi sự nhầm lẫn của mình, và thực hiện các luồng trong android bạn phải đọc: http://android-developers.blogspot.com/2009/05/painless-threading.html
và tôi sẽ đề nghị AsyncTask thay vì sử dụng Thread trong mọi trường hợp.
Tại sao chúng ta sử dụng bộ xử lý với chủ đề:
Khi chúng ta cài đặt một ứng dụng trong android sau đó nó tạo ra một chủ đề cho ứng dụng đó gọi CHỦ UI Chủ đề, tất cả các hoạt động chạy bên trong chủ đề đó, bởi mô hình chủ đề duy nhất android quy tắc, chúng tôi không thể truy cập các phần tử giao diện người dùng (bitmap, textview v.v ..) trực tiếp cho một luồng khác được xác định bên trong hoạt động đó.
Vì vậy, nếu muốn truy cập vào giao diện người dùng chính Các phần tử chủ đề theo một chuỗi khác thì chúng tôi sẽ sử dụng trình xử lý.
- 1. Sự khác biệt giữa xử lý và chủ đề là gì?
- 2. Sự khác biệt, nếu có, giữa trình xử lý sự kiện và trình xử lý sự kiện?
- 3. Sự khác biệt giữa Tác vụ (System.Threading.Task) và Chủ đề
- 4. Sự khác biệt giữa TPL & async/await (Xử lý chủ đề)
- 5. Sự khác biệt giữa BackgroundWorker và Chủ đề?
- 6. Sự khác biệt giữa AsyncTask và Chủ đề/Runnable
- 7. Sự khác biệt giữa Trình xử lý sự kiện & Trình xử lý sự kiện trong Java là gì?
- 8. Sự khác biệt giữa bộ xử lý trục và bộ xử lý ashx
- 9. sự khác biệt giữa Chủ đề, Công nhân, Mutex, Stackable?
- 10. Sự khác biệt giữa Chủ đề công nhân CLR và Chủ đề công nhân là gì?
- 11. Có sự khác biệt nào giữa 2 cách xóa trình xử lý sự kiện này không?
- 12. Sự khác nhau giữa các trình xử lý sự kiện và các cuộc gọi lại
- 13. JavaScript - Sự khác nhau giữa trình xử lý sự kiện và người nghe là gì?
- 14. Sự khác biệt giữa $ (...) và `...`
- 15. Sự khác biệt giữa hàm hủy, xử lý và hoàn thiện phương thức
- 16. Sự khác biệt giữa $ * và $ @
- 17. Sự khác biệt giữa SSLCACertificateFile và SSLCertificateChainFile
- 18. Sự khác biệt giữa AForge và OpenCV
- 19. Sự khác biệt giữa QSharedPointer và QSharedDataPointer?
- 20. Sự khác biệt giữa OpenCV và OpenCL
- 21. Sự khác biệt đa xử lý Python giữa Windows và Linux
- 22. python unicode xử lý sự khác biệt giữa in và sys.stdout.write
- 23. Sự khác biệt giữa. và #
- 24. Sự khác biệt giữa ". +" Và ". +?"
- 25. Sự khác biệt giữa "**/* /" và "** /"?
- 26. Sự khác biệt giữa = và: =
- 27. Sự khác biệt giữa File.Copy và File.Move
- 28. Sự khác biệt giữa eq? và = trong Đề án?
- 29. UINavigationItem: Sự khác biệt giữa tiêu đề và lời nhắc
- 30. Sự khác biệt giữa inproc và outproc
Trình xử lý không phải là Chủ đề – Selvin
Đúng, đã sửa – MahdeTo