Kể từ phiên bản 17,libpqluôn luôn được reentrant và an toàn. Tuy nhiên, một hạn chế là không có hai luồng nào cố gắng thao túng cùngPGConn
Đối tượng cùng một lúc. Cụ thể, bạn không thể phát hành kèo bóng đá c1 lệnh đồng thời từ kèo bóng đá c1 luồng khác nhau thông qua cùng một đối tượng kết nối.
pgresult
kèo bóng đá c1 đối tượng thường chỉ đọc sau khi tạo, và do đó có thể được truyền xung quanh tự do giữa kèo bóng đá c1 luồng. Tuy nhiên, nếu bạn sử dụng bất kỳpgresult
-Modifying Chức năng được mô tả kèo bóng đá c1Phần 32.12hoặcPhần 32.14, tùy thuộc vào bạn để tránh kèo bóng đá c1 hoạt động đồng thời trên cùng mộtpgresult
, quá.
Trong kèo bóng đá c1 phiên bản trước,libpqCó thể được biên dịch có hoặc không có hỗ trợ chủ đề, tùy thuộc vào tùy chọn trình biên dịch. Chức năng này cho phép truy vấn củalibpqs Chủ đề-Safe Trạng thái:
pqisthreadsafe
#Trả về trạng thái an toàn chủ đề củalibpqThư viện.
int pqisthreadsafe ();
Trả về 1 nếulibpqlà an toàn cho luồng và 0 nếu không. Luôn trả về 1 trên phiên bản 17 trở lên.
kèo bóng đá c1 chức năng không dùng nữaPQRequestCancel
vàPQOIDSTATUS
không an toàn cho chủ đề và không nên được sử dụng trong kèo bóng đá c1 đa luồng.PQRequestCancel
có thể được thay thế bằngPQCANCELBLOCK
. PQOIDSTATUS
có thể được thay thế bằngPQOIDVALUE
.
Nếu bạn đang sử dụng kerberos bên kèo bóng đá c1 ứng dụng của mình (ngoài bên kèo bóng đá c1libpq), bạn sẽ cần thực hiện khóa xung quanh kèo bóng đá c1 cuộc gọi Kerberos vì kèo bóng đá c1 chức năng của Kerberos không an toàn cho luồng. Xem chức năngpqregisterthreadLock
kèo bóng đá c1libpqMã nguồn để thực hiện khóa hợp tác giữalibpqvà ứng dụng của bạn.
Nếu bạn thấy bất cứ điều gì kèo bóng đá c1 tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.