Tôi có một trình quản lý bộ nhớ heap phân vùng heap thành các phân đoạn khác nhau dựa trên số lượng bộ xử lý trên hệ thống. Bộ nhớ chỉ có thể được cấp phát trên phân vùng đi kèm với bộ xử lý của chuỗi đang chạy. Điều này sẽ giúp cho phép các bộ vi xử lý khác nhau tiếp tục chạy ngay cả khi hai bộ xử lý khác nhau muốn cấp phát bộ nhớ cùng một lúc, ít nhất là tôi tin.Làm thế nào bạn có thể tìm thấy số bộ xử lý mà một chuỗi đang chạy?
Tôi đã tìm thấy hàm GetCurrentProcessorNumber() cho Windows, nhưng điều này chỉ hoạt động trên Windows Vista trở lên. Có phương pháp nào hoạt động trên Windows XP không?
Ngoài ra, điều này có thể được thực hiện với pthreads trên hệ thống POSIX không?
bạn biết rằng hầu hết các hệ điều hành sẽ lên lịch cùng một chuỗi trên các lõi khác nhau theo thời gian? – PlasmaHH