Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
#FLM/USDT analysis :
#FLM is forming higher highs (HHs) and higher lows (HLs) along the trendline support. The price has recently swept through the swing low stop losses and is now expected to move upward, resuming its bullish direction to test the swing high resistance level.
TF : 2H
Entry : $0.0423
Target : $0.0445
SL : $0.0409
#FLM/USDT analysis :
#FLM is currently in a bearish trend on the higher time frame. A retracement towards the 200 EMA is anticipated as the price forms a higher high structure. It is expected to move upward and test previous highs.
TF : 1H
Entry : $0.0584
Target : $0.0636
SL : $0.0560
#FLM/USDT analysis :
#FLM is currently in a downtrend, trading below the 200 EMA. The price is consolidating sideways within a support and resistance zone. It is currently facing rejection at the resistance zone and is expected to decline from this point, testing the support zone.
TF : 1D
Entry : $0.0620
Target : $0.0500
SL : $0.0700
#FLM🧐
👉EMA Confluence
👉Failure Swing
👉MACD
The second chart fully and automatically generated by our algorithm.
All drawings are based on only mathematical values and calculations instead of emotions.
Interested?
Check out -> www.coinlegs.com / www.legslabs.com