Xử lý quá trình là gì?


Câu trả lời:


25

Một xử lý quy trình là một giá trị số nguyên xác định một quy trình cho Windows. API Win32 gọi chúng là một TAY; xử lý cho các cửa sổ được gọi là HWND và xử lý các mô-đun HMODULE.

Các luồng trong các tiến trình có một xử lý luồng, và các tệp và các tài nguyên khác (như các khóa đăng ký) cũng có các xử lý.

Số lượng xử lý bạn thấy trong Trình quản lý tác vụ là " số lượng đối tượng xử lý trong bảng đối tượng của quy trình ". Trong thực tế, đây là tổng của tất cả các xử lý mà quá trình này đã mở.

Nếu bạn không giải phóng tay cầm của mình cho tài nguyên, người khác có thể không truy cập được - đây là lý do tại sao đôi khi bạn không thể xóa tệp vì Windows tuyên bố nó đang được sử dụng (xem bài viết này về xử lý rò rỉ và Process Explorer ).

Ngoài ra, có một giới hạn cho mỗi quá trình trên các tay cầm khác nhau. Đây là một ví dụ .

Nói chung, nếu bạn đang mở tay cầm và không đóng chúng, nó tương tự như bộ nhớ bị rò rỉ. Bạn nên tìm hiểu những gì đang xảy ra và sửa chữa nó. Có một bài viết CodeProject tốt về xử lý rò rỉ .


2

Xử lý là một giá trị số nguyên được sử dụng để giải quyết một Đối tượng. Ví dụ:

int handle = open( "foo.txt", OTHER_STUFF_HERE );

open() là System Call trả về một tay cầm, một số nguyên nhỏ, không âm để sử dụng cho các cuộc gọi hệ thống tiếp theo (đọc (2), viết (2), lseek (2), fcntl (2), v.v.).

Windows xử lý rất giống với mô tả tập tin Unix (FD).


Các cửa sổ của tòa nhàopen() không được dùng nữa
l Library / report / open
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.