TAILIEUCHUNG - Bài giảng Chương 4: Luồng

Mời các bạn tham khảo Bài giảng Chương 4: Luồng sau đây để bổ sung thêm kiến thức về cách tạo luồng, truyền dữ liệu cho luồng, giá trị trả về của luồng, Thread ID, thuộc tính của luồng, Thread Cancelation và một số nội dung khác. | Chương 4. Luồng Phạm Quang Dũng . Tạo luồng Mỗi luồng trong 1 tiến trình được xác định bởi 1 thread ID. Trong C/C++, để dùng thread ID, sử dụng kiểu pthread_t Chương trình có thể truyền tham số cho luồng mới và lấy dữ liệu từ luồng qua giá trị trả về. Sử dụng hàm pthread_create 2 Các tham số của hàm pthread_create 1. Một con trỏ tới biến kiểu pthread_t chứa ID của luồng mới. 2. Một con trỏ tới đối tượng thread attribute. Đối tượng này điều khiển chi tiết việc tiến trình tương tác với phần còn lại của chương trình. Nếu truyền thread attribute là NULL, luồng mới sẽ có các thuộc tính mặc định. 3. Một con trỏ tới hàm thread, là hàm bình thường có kiểu: void* (*) (void*) 4. Một giá trị thread argument có kiểu void*. Bạn truyền bất kể cái gì cũng đơn giản là tham số cho hàm thread khi luồng bắt đầu thực hiện. 3 Lời gọi pthread_create trở về ngay lập tức, luồng ban đầu thực hiện tiếp các lệnh sau lời gọi trong khi đó, luồng mới bắt đầu thực hiện hàm thread. Linux lập lịch cả 2 luồng theo cách không đồng bộ Chương trình của bạn phải không phụ thuộc vào thứ tự thực hiện của các luồng. 4 Ví dụ Listing (): tạo 1 luồng in các ký tự ‘x’; sau khi gọi pthread_create, luồng chính in các ký tự ‘o’. kết quả chạy chương trình? Lý do: Linux luân phiên lập lịch 2 .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.