Một khi quay lại Tôi đã quản lý kết nối w/dbi dưới dạng tài nguyên giới hạn và chia sẻ nó giữa các chủ đề khác nhau trong Perl bằng cơ chế khóa tệp. Ứng dụng đa luồng của tôi chỉ được kết nối với dbi thông qua một tập lệnh perl-script riêng biệt chạy như một daemon.
Trên Linux, kết thúc đa luồng được thực hiện thông qua ngã ba, trên cửa sổ tôi đã sử dụng bất cứ điều gì đi kèm với việc thực hiện ActivePerl mặc định (tôi quên)
tôi đã cố gắng có họ giao tiếp thông qua bộ nhớ chia sẻ, nhưng cuối cùng lại chỉ sử dụng một chia sẻ thay vào đó. Linux có chế độ gắn thêm đáng tin cậy, vì vậy nó là một miếng bánh. Trên các cửa sổ, khó khăn hơn để đồng bộ hóa chúng.
Gần đây, Tôi đã xem xét các giao dịch cơ sở dữ liệu, với mỗi thể hiện của luồng có kết nối riêng với cơ sở dữ liệu và cho phép cơ sở dữ liệu xử lý các chi tiết kết nối.
Đây là với mysql, nhưng tôi chắc chắn oracle hỗ trợ giao dịch.
apache :: dbi hoạt động/chơi tốt với mod_perl trong việc giữ các kết nối này tồn tại giữa mỗi lần chạy của tập lệnh (trước khi tôi sử dụng điều này, mỗi kết nối được thực hiện khá tốn thời gian).
Kết quả của bạn sẽ thay đổi.
Nguồn
2009-07-01 00:11:17