Когда безопасно уничтожить pthread барьер?

Этого можно добиться, встраивая переменную в строку XPath:

IWebElement webElement2 = driver.FindElement(By.XPath("//a[normalize-space(.)='" + myVar + "' and @_ngcontent-c32]"));
6
задан fmark 17 May 2009 в 11:46
поделиться

1 ответ

После возврата pthread_barrier_wait () все потоки достигнут барьера и продолжат работу. Поскольку только один поток получает возвращаемое значение PTHREAD_BARRIER_SERIAL_THREAD , его можно безопасно использовать для условного обертывания кода уничтожения следующим образом:

int rc = pthread_barrier_wait(&b)
if ( rc == PTHREAD_BARRIER_SERIAL_THREAD )
{
    pthread_barrier_destroy(&b);
}

Также имейте в виду, что pthread_barrier_destroy () вернет результатом EBUSY , если барьер использовался (т.е. другой поток вызвал pthread_barrier_wait () ).

5
ответ дан 17 December 2019 в 02:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: