Похожие чаты

Hm, do you know what I can use if I

want to send the latest logs of execution from one thread to another?
I want to read in a non-blocking way, and I want not more than latest N lines being on the way at the same time.

What I want to solve, I have a process that I'm running from a thread, I have a UI that shows the last 30 lines, right now I have a Vec that I use as a ring buffer and lock it with a mutex, but I want to make reading it non-blocking.
I could use a channel, but that would mean the process can dump 1000 lines at once, and then the UI thread would need to read all the 1000 lines instead of 30, and all those lines would need to be stored in the memory.

I wonder if something that I want exists

1 ответов

30 просмотров
Pavel- Автор вопроса

So how I solved it: I just use try_lock instead of lock. The UI thread doesn't wait on mutexes now (which makes it always smooth) and it always shows the latest data (it probably can delay showing the data if the thread is starving, but it shouldn't be for really long, and it's lesser evil)

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
8
Anyone else having this error when trying to make transactions?
Datzel
11
Question: How viable is it to use Anvil as the backend infrastructure for managing a TradFi portfolio, while integrating Flexa for instant liquidity and payment solutions? Cou...
Kevin
2
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта