pthread_create sẽ tạo ra một chủ đề sử dụng các cuộc gọi hệ điều hành. Những điều tuyệt vời về trừu tượng là bạn không thực sự cần phải quan tâm những gì đang xảy ra bên dưới. Nó sẽ đặt chuỗi biến bằng một mã định danh có thể được sử dụng để tham chiếu đến chuỗi đó. Ví dụ, nếu bạn có nhiều chủ đề và muốn hủy bỏ một trong số họ chỉ cần gọi
pthread_cancel (thread)
bằng cách sử dụng định danh pthread_t quyền chỉ định các chủ đề bạn quan tâm.
Điều gì xảy ra với chuỗi sau khi nó đã tham gia chuỗi chính và bị chấm dứt?
Trước khi chuỗi kết thúc chuỗi var đóng vai trò là khóa/chỉ mục để nhận hoặc xác định chuỗi. Sau khi chủ đề chấm dứt giá trị mà khóa/chỉ mục trỏ đến không còn phải hợp lệ nữa. Bạn có thể giữ nó xung quanh và cố gắng tái sử dụng nó, nhưng đó là gần như chắc chắn gây ra lỗi.
gì xảy ra nếu, sau khi chủ đề đã tham gia, bạn làm như sau:
pthread_create(&thread, NULL, another_function, NULL);
Không có vấn đề, kể từ khi bạn cung cấp cho nó một tham chiếu cho chủ đề giá trị của chủ đề sẽ được thiết lập để một định danh cho chủ đề mới vừa được tạo. Tôi nghi ngờ rằng nó có thể giống như trước, nhưng tôi sẽ không tin vào nó.
Nguồn
2012-05-03 16:11:18
Tôi đang bị giảm giá .... tại sao? Đó là một câu hỏi cụ thể về lập trình. –
+1, bạn nên biết chi tiết triển khai. –
Điều tốt về nguồn mở là nguồn mở. Bạn luôn có thể tải xuống mã nguồn của pthread và kiểm tra nó. – mfontanini