Tôi có 2 cơ sở mã, một trong python, một trong C++. Tôi muốn chia sẻ dữ liệu thời gian thực giữa chúng. Tôi cố gắng để đánh giá mà lựa chọn sẽ làm việc tốt nhất cho trường hợp sử dụng cụ thể của tôi:Chia sẻ thông tin giữa mã python và mã C++ (IPC)
- nhiều cập nhật dữ liệu nhỏ từ chương trình C++ cho chương trình python
- cả hai đều chạy trên cùng một máy
- độ tin cậy là điều quan trọng
- độ trễ thấp là tốt đẹp để có
tôi có thể thấy một vài lựa chọn:
- Một quy trình ghi vào một tệp phẳng, quy trình khác đọc nó. Nó không dễ bị lỗi, chậm và I/O.
- Một quy trình ghi vào cơ sở dữ liệu, quy trình khác đọc nó. Điều này làm cho nó dễ mở rộng hơn, ít bị lỗi hơn, nhưng vẫn rất chậm.
- Nhúng chương trình python của tôi vào C++ một hoặc vòng khác. Tôi đã từ chối giải pháp đó vì cả hai cơ sở mã đều phức tạp và tôi muốn giữ chúng tách biệt vì lý do bảo trì.
- Tôi sử dụng một số ổ cắm trong cả hai chương trình và gửi tin nhắn trực tiếp. Điều này có vẻ là một cách tiếp cận hợp lý, nhưng không tận dụng thực tế rằng họ đang ở trên cùng một máy (nó sẽ được tối ưu hóa một chút bằng cách sử dụng máy chủ cục bộ làm đích, nhưng vẫn cảm thấy cồng kềnh).
- Sử dụng bộ nhớ dùng chung. Cho đến nay tôi nghĩ rằng đây là giải pháp thỏa mãn nhất mà tôi đã tìm thấy, nhưng có nhược điểm là hơi phức tạp hơn để thực hiện.
Có các giải pháp nào khác mà tôi nên cân nhắc không?
Trực tiếp sử dụng mã Python/C++ từ C++/Python? –
RESTful API sẽ giúp bạn nhiều nhất, một ngôn ngữ hoàn hảo độc lập api – AlokThakur
@Revolver_Ocelot, tôi sở hữu 2 cơ sở mã, vì vậy có tôi có thể sử dụng mã trực tiếp trong mỗi. – DevShark