Thông thường, các ứng dụng biểu mẫu cửa sổ sẽ tiến hành thực thi khi người dùng cung cấp (các) đầu vào.
ví dụ: Nhấp vào nút.
Cho đến lúc đó ứng dụng bận chờ đợi?
(đi và kiểm tra xem "một nút" đã được "nhấp". Tôi có nghĩa là kiểm tra xem có sự kiện nào đã xảy ra)
hoặc khi một sự kiện xảy ra, hệ điều hành có làm gián đoạn các ứng dụng không?
Cơ chế xử lý sự kiện chính xác cho các ứng dụng biểu mẫu Windows là gì?Các ứng dụng Windows Forms có chờ đợi các đầu vào của người dùng không?
Trả lời
Tôi không có nhiều kiến thức về nó để chia sẻ. Nhưng chắc chắn sẽ chia sẻ đậu phộng của tôi.
Chương trình không chờ bất kỳ ai. Nó giống như trong chế độ ngủ. Không tiêu thụ tài nguyên nhưng chỉ để giữ GUI của nó trên màn hình.
Xử lý sự kiện không dựa trên chương trình hoặc hệ điều hành. Phần cứng của nó dựa. Khi bạn nhấp chuột hoặc nhấn một phím trên bàn phím, nó được coi là Hoạt động bên ngoài không đồng bộ. Phần cứng intimates hệ điều hành về hành động được thực hiện bởi người dùng hoặc một thiết bị bên ngoài và thông tin được truyền cho các chương trình tương ứng. Chương trình có thể chấp nhận Khóa hoặc từ chối nó. Nếu nó chấp nhận, khóa được chuyển tới trình xử lý sự kiện và hành động bắt buộc được tạo. Hệ điều hành không hề tham gia vào quá trình này. Của nó nhiều hơn hoặc ít hơn như một trung gian mà chuyển đổi các mã bản địa thành mã chương trình có thể đọc được. Và đó là một trong những lý do các chương trình là hệ điều hành cụ thể. Tôi có nghĩa là những gì nếu hệ điều hành chuyển đổi mã Native trong một định dạng mà chương trình không thể đọc ??
Bạn đang nói về ứng dụng dựa trên Sự kiện trong Windows, hãy tưởng tượng trường hợp USB. Hiện tại có 8 hoặc hơn 8 khe cắm USB trong các bo mạch chủ. Người dùng có thể cắm USB vào bất kỳ vị trí nào. Do hệ điều hành tiếp tục chờ đợi rằng một USB sẽ được chèn vào và trong mỗi khe nó tiếp tục theo dõi và chờ đợi ?? KHÔNG. Không có gì. Một quá trình dựa trên phần cứng của nó và nhiệm vụ của phần cứng cho hệ điều hành thân mật về nó. Các cộng đồng tương thích với Windows và Linux tương thích đi vào hình ảnh ở đây, nơi họ thảo luận về phần cứng nào được hỗ trợ bởi hệ điều hành.
Không, họ không bận chờ đợi: họ chạy Windows Message Pump là một vòng lặp chặn cho đến khi Windows có một tin nhắn để cung cấp cho nó.
Điều này về cơ bản là những gì Application.Run thực hiện.
- 1. Tại sao fmt.Scanf ở chế độ chờ đợi cho đầu vào của người dùng?
- 2. đặt thời gian chờ cho đầu vào của người dùng
- 3. Bộ chọn màu cho các ứng dụng Windows Forms
- 4. không đợi người dùng nhập vào tập lệnh mong đợi
- 5. Thêm bộ hẹn giờ vào ứng dụng Windows Forms
- 6. Nhấp nháy trong ứng dụng Windows Forms
- 7. chờ đầu vào của người dùng trong chủ đề riêng biệt
- 8. Có an toàn khi sử dụng đầu vào của người dùng cho các cụm từ thông dụng của Python không?
- 9. C# đọc đầu vào của người dùng mà không cần dừng ứng dụng
- 10. Có thể dừng cin khỏi đầu vào chờ không?
- 11. Bản đồ với ứng dụng Windows Forms
- 12. Đang chờ người dùng nhập vào với thời gian chờ
- 13. Mã thoát từ ứng dụng Windows Forms
- 14. `getchar()` lưu trữ đầu vào của người dùng ở đâu?
- 15. Trình soạn thảo email HTML trong ứng dụng Windows Forms
- 16. Các thành phần giao diện người dùng cho các ứng dụng Windows Mobile (.NET Compact Framework)
- 17. Di chuyển từ Windows Forms sang WPF ... có đáng không?
- 18. Sử dụng Console.WriteLine trong ứng dụng Windows Forms
- 19. cách ngăn chặn tương tác của người dùng khi chờ phản ứng của ajax
- 20. Ruby có thể được sử dụng cho các ứng dụng Windows dựa trên giao diện người dùng không?
- 21. JOptionPane - kiểm tra đầu vào của người dùng và ngăn không cho đến khi các điều kiện được đáp ứng
- 22. Chọn phông chữ cho ứng dụng Windows Forms
- 23. Có khung công tác nào cho Windows Forms, phát triển ứng dụng DB/tạo mẫu không?
- 24. Phông chữ mặc định cho ứng dụng Windows Forms
- 25. Cách sử dụng Ninject trong ứng dụng Windows Forms?
- 26. Xây dựng chuỗi kết nối từ đầu vào của người dùng trong ứng dụng WPF
- 27. Cập nhật giao diện người dùng ứng dụng Windows Store
- 28. ASP.NET Mixed Forms/Windows Authentication
- 29. Cuộc gọi đa luồng trong ứng dụng Windows Forms?
- 30. Java tương đương với Windows Forms của C# để xây dựng các ứng dụng GUI dễ dàng và nhanh chóng
liên kết tốt (mà Google không cung cấp) sẽ tuyệt vời :) – Dinushan
Bạn có thể giả sử không có ứng dụng viết đúng cách nào sử dụng chờ đợi bận rộn. – ThiefMaster