// thread A
while(!is_finished.test(memory_order_relaxed)) {
// supposing I have some observable side effects here
}
// thread B
is_finished.test_and_set(memory_order_relaxed);
Если эти два потока работают одновременно, всегда будет ли наконец?
Предположим, что у меня есть несинхронизированный атомный флаг is_finied . В следующем коде: < /p> [code]// thread A while(!is_finished.test(memory_order_relaxed)) { // supposing I have some observable side effects here } // thread B is_finished.test_and_set(memory_order_relaxed); [/code] Если эти два потока работают одновременно, всегда будет ли наконец?
Предположим, что у меня есть несинхронизированный атомный флаг is_finied . В следующем коде:
// thread A
while(!is_finished.test(memory_order_relaxed)) {
// supposing I have some observable side effects here
}
// thread B...
Предположим, что у меня есть несинхронизированный атомный флаг is_finied . В следующем коде:
// thread A
while(!is_finished.test(memory_order_relaxed)) {
// supposing I have some observable side effects here
}
// thread B...
Предположим, что у меня есть несинхронизированный атомный флаг is_finied . В следующем коде:
// thread A
while(!is_finished.test(memory_order_relaxed)) {
// supposing I have some observable side effects here
}
// thread B...
Мне было интересно, если у меня есть следующий типичный код Java:
public class MyApp {
public static void main(String[] args) {
try {
// do stuff
} catch {
// handle errors
} finally {
// clean up connections etc.
}
}
}
Блок Finally выполняется непосредственно перед оператором return в блоке try, как показано в примере ниже — возвращает False вместо True:
>>> def bool_return():
... try:
... return True
... finally:
... return False
...
>>> bool_return()
False...