我正在調用駐留在Java線程的dll中的C函數。此C函數無限期地運行並實時處理視頻幀,併爲每個幀輸出結果。從java中訪問全局C變量
我想生成另一個Java線程來讀取處理函數的結果而不中斷函數。我還需要實現某種線程控制以防止讀取損壞的數據。
任何想法?
我正在調用駐留在Java線程的dll中的C函數。此C函數無限期地運行並實時處理視頻幀,併爲每個幀輸出結果。從java中訪問全局C變量
我想生成另一個Java線程來讀取處理函數的結果而不中斷函數。我還需要實現某種線程控制以防止讀取損壞的數據。
任何想法?
您可以將C函數嵌入到將由您的java線程啓動的可執行文件中。 C函數可以將結果發佈到管道中或通過套接字將它們發送到您的java線程。這使您可以靈活地在一臺機器上運行C函數,在另一臺機器上運行Java線程。
你目前如何調用C函數? –
以及我還沒有實現它,我已經準備好了C函數並打算使用JNI來調用它 – kidhuvig
你在windows上嗎?因爲從DLL的角度來看「全局」變量實際上很少是全局的。有時它們對每個人都是全球性的,但通常它們僅限於每個進程甚至每個線程。 –