1
我有共享庫,它提供了一個在處理期間將進入等待狀態的函數。等待由C++提供的條件變量實現。任何人都知道如何從Go中正確調用這個函數?共享庫中的Block Go例程
C++函數:
我有一個隊列來存儲所有要被處理的任務。
queue<Task> tasks;
Mutex mutex;
condition_variable cv;
void process(string img_path) {
std::unique_lock<Mutex> lock(mutex);
Task task(img_path);
tasks.push_back(task);
cv.wait(); //wait the task to be processed, because i have to process the tasks in a batch way using GPU
}
上面的代碼只是用來說明關鍵組件,它是條件變量的阻塞等待函數。它將被編譯成一個動態庫。如果從Python中調用,我發現在here中說明了一個解決方案。任何人都知道如何從Golang打電話?
你可以分享一些代碼,以便我們更好地瞭解你打算做什麼? – Sean
謝謝你的幫助。我已經更新了這個問題。 – Yue