其實我的問題更多地涉及到dll。從兩個獨立的可執行文件中同時使用dll
- 我有一個應用程序的GUI(名稱:
xxx_app
) - 我有第二應用程序的GUI(名稱:
AAA_app
)
這兩者都可以TX/RX從zanthric USB-2-CAN數據設備直接使用dll。
現在有可能是兩個AAA_app & xxx_app直接使用同一個DLL的zanthric設備&同時操作?
這兩種GUI都可以加載相同的DLL進行通信嗎?
它會導致一些問題將兩個GUI中的數據rx &?
請建議。
其實我的問題更多地涉及到dll。從兩個獨立的可執行文件中同時使用dll
xxx_app
)AAA_app
)這兩者都可以TX/RX從zanthric USB-2-CAN數據設備直接使用dll。
現在有可能是兩個AAA_app & xxx_app直接使用同一個DLL的zanthric設備&同時操作?
這兩種GUI都可以加載相同的DLL進行通信嗎?
它會導致一些問題將兩個GUI中的數據rx &?
請建議。
這是一個重要的問題。我相信這取決於您激活的DLL和USB驅動程序。我知道,我使用的USB DLL /驅動程序即使在同一個應用程序中由2個線程同時訪問時也會產生問題。我必須使用信號量來同步訪問。
另一方面,TCP/IP堆棧旨在與多個進程同時工作。這是硬件和上面的軟件的問題。
與TCP/IP不同,沒有獨立的「USB堆棧」。所以這取決於運行您使用的USB的驅動程序。
多進程使用單個DLL是完全可能的 - 事實上,這通常是工作原理。
然而,無論它是否滿足您期望的要求,在訪問硬件資源時,都取決於該特定DLL的功能。我希望至少在API級別會有一定級別的訪問控制。
意味着驅動程序將變得複雜,因爲它必須 - 使用某種機制來同步訪問。 – Katoch