summaryrefslogtreecommitdiffstats
path: root/library/cpp/threading/equeue/equeue_ut.cpp
diff options
context:
space:
mode:
authorkulikov <[email protected]>2026-03-20 19:39:06 +0300
committerkulikov <[email protected]>2026-03-20 20:17:51 +0300
commit14bf6e9ab2e2a49e7b066904080cf9e121a348d9 (patch)
tree723aeeaacfc85442b14485526ccf342169640cf0 /library/cpp/threading/equeue/equeue_ut.cpp
parent8c1168348ffdcc290ddee600735708101b5f708c (diff)
Switch to std atomics
commit_hash:5d980b19ed177f3a4ce03ba7c7d89ab9d711b8e8
Diffstat (limited to 'library/cpp/threading/equeue/equeue_ut.cpp')
-rw-r--r--library/cpp/threading/equeue/equeue_ut.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/library/cpp/threading/equeue/equeue_ut.cpp b/library/cpp/threading/equeue/equeue_ut.cpp
index 47b1029a2f9..0b66128c73d 100644
--- a/library/cpp/threading/equeue/equeue_ut.cpp
+++ b/library/cpp/threading/equeue/equeue_ut.cpp
@@ -44,10 +44,10 @@ Y_UNIT_TEST_SUITE(TElasticQueueTest) {
Processed = Scheduled = Discarded = Total = 0;
}
- TAtomic Processed;
- TAtomic Scheduled;
- TAtomic Discarded;
- TAtomic Total;
+ std::atomic<size_t> Processed;
+ std::atomic<size_t> Scheduled;
+ std::atomic<size_t> Discarded;
+ std::atomic<size_t> Total;
};
static TCounters Counters;
@@ -61,7 +61,7 @@ Y_UNIT_TEST_SUITE(TElasticQueueTest) {
struct TWaitJob: public IObjectInQueue {
void Process(void*) override {
WaitEvent.Wait();
- AtomicIncrement(Counters.Processed);
+ ++Counters.Processed;
}
} job;
@@ -87,7 +87,7 @@ Y_UNIT_TEST_SUITE(TElasticQueueTest) {
UNIT_ASSERT_VALUES_EQUAL(0u, TEnv<T>::Queue->ObjectCount());
UNIT_ASSERT_VALUES_EQUAL(0u, TEnv<T>::Queue->Size());
- UNIT_ASSERT_VALUES_EQUAL((size_t)Counters.Processed, enqueued);
+ UNIT_ASSERT_VALUES_EQUAL(Counters.Processed.load(), enqueued);
}
Y_UNIT_TEST(FillTest) {
@@ -101,25 +101,25 @@ Y_UNIT_TEST_SUITE(TElasticQueueTest) {
//concurrent test -- send many jobs from different threads
struct TJob: public IObjectInQueue {
void Process(void*) override {
- AtomicIncrement(Counters.Processed);
+ ++Counters.Processed;
}
};
static TJob Job;
template <typename T>
static bool TryAdd() {
- AtomicIncrement(Counters.Total);
+ ++Counters.Total;
if (TEnv<T>::Queue->Add(&Job)) {
- AtomicIncrement(Counters.Scheduled);
+ ++Counters.Scheduled;
return true;
} else {
- AtomicIncrement(Counters.Discarded);
+ ++Counters.Discarded;
return false;
}
}
const size_t N = 100000;
- static size_t TryCounter;
+ static std::atomic<size_t> TryCounter;
template <typename T>
void ConcurrentTest() {
@@ -128,7 +128,7 @@ Y_UNIT_TEST_SUITE(TElasticQueueTest) {
struct TSender: public IThreadFactory::IThreadAble {
void DoExecute() override {
- while ((size_t)AtomicIncrement(TryCounter) <= N) {
+ while (++TryCounter <= N) {
if (!TryAdd<T>()) {
Sleep(TDuration::MicroSeconds(50));
}
@@ -149,9 +149,9 @@ Y_UNIT_TEST_SUITE(TElasticQueueTest) {
}
}
- UNIT_ASSERT_VALUES_EQUAL((size_t)Counters.Total, N);
- UNIT_ASSERT_VALUES_EQUAL(Counters.Processed, Counters.Scheduled);
- UNIT_ASSERT_VALUES_EQUAL(Counters.Total, Counters.Scheduled + Counters.Discarded);
+ UNIT_ASSERT_VALUES_EQUAL(Counters.Total.load(), N);
+ UNIT_ASSERT_VALUES_EQUAL(Counters.Processed.load(), Counters.Scheduled.load());
+ UNIT_ASSERT_VALUES_EQUAL(Counters.Total.load(), Counters.Scheduled.load() + Counters.Discarded.load());
}
Y_UNIT_TEST(ConcurrentTest) {