Questions tagged [thread-safety]
A piece of code is thread-safe if it only manipulates data structures in a way that allows consistent execution of this code by multiple threads.
523
questions
7
votes
2
answers
6k
views
Safe Dispose of Timer
I am currently refactoring a larger solution where the compiler gave multiple warnings about disposing the used System.Timers.Timer instances. The timers are ...
3
votes
1
answer
2k
views
Use SemaphoreSlim to control access to a resource
We have an existing situation in an MVC ASP.NET app where it's possible for two threads to come back asynchronously, one from an external api(the payment gateway) and one from within the browser for ...
4
votes
3
answers
1k
views
Thread-safe "singleton" that destroys object when not used anymore
I'm working on some legacy code which uses the singleton pattern. The problem I have with the traditional singleton is that the instance lives until the program terminates. This is messing up the ...
2
votes
0
answers
87
views
Lock-free pooled queue
I am attempting to create a lock free pool of resources and I need the ability to access any one that is not already accessed and then return it back when I do not need it. This will happen very very ...
2
votes
0
answers
299
views
Mutex lock benchmark
I'm trying to measure how many CPU cycles a mutex lock takes. Can you find any problems in my mutex lock benchmark?
...
5
votes
2
answers
238
views
Async concurrency prevention class
Because I'm quite naive regarding C#'s Task Asynchronous Programming and concurrency in general, and because it's so difficult to test, I'm concerned about the safety of this code. It's likely that ...
5
votes
1
answer
678
views
SQS subscriber pattern in background service
I have the below code to pull messages from a FIFO SQS queue. Using the while (IsRunning) loop makes me feel to question the code design. Is there a pattern I am ...
5
votes
2
answers
2k
views
Thread-safe stack in Java with fixed capacity
Implement a multi-threaded stack, with freedom to use existing
implementations of stack. On top of being thread-safe, it must block
(not busy-wait) a pushing thread when stack is full and a ...
5
votes
1
answer
373
views
Rate limiting variable-duration operations over a time interval
I want a rate-limiter that permits, at most, N operations over T seconds. I found a sample implementation here but it makes an assumption that operations complete in a predictable, consistent amount ...
4
votes
1
answer
245
views
Determine concurrent access to a function
Someone asked here how to determine a function is being called from multiple threads. My take on this is that they are asking about concurrent access not sequential access. The accepted answer ...
1
vote
0
answers
212
views
Near immutable, thread safe Builder
I'm writing a torrent streaming client. The plan is to wrap WebTorrent-cli and provide a Java interface to observe download state, cancel or pause downloads etc.
Anyways, I came up with the following ...
4
votes
0
answers
361
views
Wait free triple buffer primitive
I'm trying to write a triple buffer that's wait free for a update + render loop after being bitten by lock starvation one too many times (on a different project, using a library).
For reference, a ...
1
vote
0
answers
71
views
C# asynchronous notification vector v2
As a result of my previous post, I have implemented / refactored my code and have started making successful use of my class. However I have come across a couple of new questions:
The observer must ...
2
votes
0
answers
83
views
Comparing Java Semaphore versus ReentrantReadWriteLock
In this post, I attempted to compare the performance of two concurrency constructs:
java.util.concurrent.Semaphore,
...
6
votes
1
answer
150
views
C# asynchronous notification vector
The purpose of this class is to efficiently notify another thread when data is available with minimal blocking to access/pass the data. The data reader/producer thread processes data in bulk which ...
1
vote
1
answer
477
views
Multithreading to allow multiple clients on to a server and client requests handling
I have to create a client-server JavaFX application using MVC which does many operations consisting mainly in messages exchange.
I'd like to know if this way to handle client acceptance and client ...
1
vote
1
answer
2k
views
Java concurrency exercise, implementing transfer of amount from one account to another
This is in continuation with my synchronized implementation of a bank account in Java. I am trying to implement bank accounts repository and method to transfer money from one account to another. My ...
8
votes
2
answers
4k
views
Synchronized implementation of a bank account in Java
I am trying to implement a bank account with Java in a thread safe way. My code looks like:
...
7
votes
1
answer
10k
views
Implementation of thread-safe vector
I have implemented a thread safe vector, based on std::thread and std::vector. I am new to many of the patterns used in threading and was wondering if there's a more efficient way the locking can be ...
3
votes
2
answers
3k
views
An attempt of replacing CRITICAL_SECTION with std::mutex and std::lock_guard
I have an older class that I am working on and I'm updating it to remove "Windows" specific code. It had some "Thread Protection Code" that used CRITICAL_SECTION. I'...
1
vote
2
answers
2k
views
Thread-safe singleton cache (Python)
In a service I'm developing I'm using three cloud services (five if you count additional two streaming services I have to create that are used by those cloud services in turn) and to orchestrate bits ...
1
vote
1
answer
554
views
Spring TaskScheduling with HashMap
I am currently developing a Task Scheduler to run different methods at a certain time. In general it is a Spring-boot application an task execution/scheduling is just a very tiny piece of the whole ...
2
votes
0
answers
271
views
Thread-safe sensor interface with observer and strategy patterns
I have a thread-safe API for an observable Sensor. The concrete type of the Sensor is chosen in the ...
2
votes
0
answers
485
views
thread safe queue with interrupt function
I try to implement a thread safe queue with the interrupt function (interrupt all threads who are blocking to take data from queue).
...
2
votes
1
answer
649
views
Simple multithreading C project
I'm fairly new to C, and this is my first time using pthread. I am pretty sure I implemented it correctly, however I'd like to verify it is indeed executing the ...
3
votes
1
answer
402
views
Repeating a task that may fail (in parallel)
Almost like this question here, I'm playing with some methods that may fail, but in my case, the method failing is not a exceptional case; it just means I need to try running it again.
The method I'm ...
4
votes
0
answers
149
views
"Lock-free" one-shot event manager
Giving a review to Oachkatzl and recently about some other synchronization problems (Lazy with invalidate and some node-locking list), I wanted to test my skills and redesign it in most light-weight ...
4
votes
3
answers
725
views
Really easy synchronised access to an IEnumerable without boilerplate code
Often when reading data from a sequence (IEnumerable<T>) in multi-threaded code, a consistent snapshot needs to be taken inside a ...
5
votes
1
answer
2k
views
Linked list node-level locking
I am new to C++ threading library. I would love to get some comments on how to improve this code (if there are possible bugs, I would appreciate that feedback too). In particular, I want to refactor ...
1
vote
0
answers
288
views
Multithreaded FRC Robot Framework (Kinda Big)
I'm working on some code for an FRC Robot. I wanted to see if there's any obvious improvements that can be made here, that stands out, or stuff I should avoid doing. This is a test bed for the base ...
7
votes
1
answer
394
views
Threadsafe oneshot-event which fires on subscription if the event was fired in the past
Assumptions
Basically, a Connection class has a "Disconnect" event. Subscribing to this event isn't thread-safe, because the disconnection may fire from another thread right before I subscribe. So ...
5
votes
0
answers
102
views
Testing application stability by throwing random diagnostic exceptions
I'd like to be able to better test application stability. Usually when you're doing this, you run the application and keep your fingers crossed that it won't crash when an error occurs (be it a ...
1
vote
1
answer
3k
views
Print odd and even numbers using two threads in Java
I was asked below question in an interview where I need to print out even and odd numbers using two threads so I came up with below code one without synchronization and other with synchronization.
<...
0
votes
0
answers
302
views
Thread-safe Java class for managing XML files <> domain models
This Java class (aka application component) role is to handle a series of XML files stored in the file system. It must convert those XML files to the corresponding application domain model, and it ...
4
votes
3
answers
2k
views
C++ upgradable RW lock implementation
I am using VS 2017 with C++ 17 standard set on Windows OS. What I'm missing in couple of heavily threaded projects is synchronizing mechanism that can be atomically upgraded from shared to exclusive ...
7
votes
4
answers
1k
views
Caching Color-Bitmaps as MemoryStreams
I am in the need to cache Bitmap's in a memory-optimized way because the API I am building will need to process many colored ...
1
vote
1
answer
3k
views
Static wrapper class for log4net Logging - thread safety
I'm using log4net in my application and have a static Log class which creates an instance of ...
2
votes
1
answer
642
views
Run two computations in parallel, and return the results together
I am reading the "Learning Concurrent Programming in Scala" and there are exercises in the end of each chapter.
One of exercises is
Implement a parallel method which takes two computation blocks a ...
2
votes
1
answer
1k
views
Thread safe queue with buffer
I must implement thread-safe queue with buffer. According to the advice from the previous post: Thread-safe queue mechanism I resigned from Concurent Collections and used lock.
Is it thread safe now? ...
-1
votes
1
answer
840
views
Thread-safe queue mechanism
Is it my queue mechanism thread safe? I just wonder if I need concurrent collections. Need I lock Enqueue method? Console displays queue count in incorrect order, Does it affect on maxQueueCount at ...
2
votes
1
answer
472
views
Synchronized template wrapper class
Issue: Code base has lots of data structures which are accessed between threads with >= 1 writer. Application logic becomes obfuscated due to lots of mutex locks.
Solution: Create a template class ...
9
votes
1
answer
3k
views
A thread-safe priority queue keeping its elements unique
This class is intended to be used in situations where queue.Queue does not suffice, because the following two properties are needed.
Every item in the queue can ...
11
votes
1
answer
318
views
C++ thread-safe averaging
Although having very little C++ experience, I was tasked to implement several statistics objects that are safe to be asynchronous accessed by different threads, that collect data in relatively small ...
4
votes
1
answer
6k
views
Simple rwlock implementation in c++11
For answering this question of stackoverflow I have written the code
https://stackoverflow.com/questions/12033188/how-would-you-implement-your-own-reader-writer-lock-in-c11
Can someone review it - ...
3
votes
1
answer
134
views
Java Concurrent Recursive API Access
I don't get to write multithreaded applications very often, so be gentle with my threads :-)
I have an API input which contains a "score" and then a bunch of child nodes which also have scores, and ...
6
votes
2
answers
4k
views
Async Queue implementation without locking
I wrote a quick implementation of an async queue that utilizes a backing ConcurrentQueue. It was pretty much based on an implementation given in this Stack Overflow ...
4
votes
2
answers
898
views
Thread-safe cache using a linked list
Are the final templated functions allocate and deallocate thread safe? The Cache object is a ...
7
votes
1
answer
6k
views
Getting serial port list
Needed to get a local serial port list. System.IO.Ports.SerialPort.GetPortNames() returns names but not the descriptions like you can see in Device Manager: ...
3
votes
1
answer
553
views
Mutex helper for interprocess sychronization of accessing a network drive
I have two windows services working in parallel. Each of them is using a network drive that is connected and disconected dynamically by each one as required. They do it by executing ...
6
votes
2
answers
288
views
Thread-Safe Garbage Collectible Memoizer
I am working on a little thread-safe, garbage collectible memoizer for Funcs in C#.
The goals:
Make it easy to Memoize deterministic functions.
Make sure invocation of a memoized Func with a given ...