In computer science, concurrency is a property of systems in which multiple computations can be performed in overlapping time periods. The computations may be executing on multiple cores in the same chip, preemptively time-shared threads on the same processor, or executed on physically separated ...
1
vote
0answers
23 views
Producer / consumer pattern with limits on .NET
For a project that I'm developing, I need to implement the producer/consumer pattern, but the quantity of consumers cannot be higher than some number (say 40).
I created a concept project on GitHub ...
1
vote
1answer
40 views
canonical pattern for transactional library state manipulation
In golang I am finding that there is a definite pressure in the language itself and built-in libraries to do things in a canonical way. Please can someone critically look at these two ways I am ...
3
votes
0answers
22 views
Fast lock implementation using pipes only
For fun I wanted to create a lock implementation that was about as fast as one using futexes but that used used pipes instead and that queues waiters in user space instead of in-kernel. For the queue ...
-1
votes
0answers
18 views
Cannot access a disposed object when multiple concurrent and async operations are executed [closed]
We have a Client class which extends a BaseClass.
The BaseClass has this methods:
...
1
vote
2answers
44 views
Simplified LogService (from concurrency in practice) with shutdown feature
Brian Goetz provided following code of LogService with shutdown feature:
...
2
votes
1answer
76 views
Repeat operation if signal is received
I have a data synchronisation operation that is observing a database. This is a fairly key piece of code for the system, so I want to make sure I handle the concurrency correctly.
The problem
The ...
4
votes
1answer
73 views
Concurrency and locking in a chat server
I've never done concurrent programming before, but I've written one using go channels and RWMutex, but I'm not sure if my approach is idiomatic. I feel like it could all use channels (Maybe).
The ...
3
votes
1answer
49 views
JUnit assertion for concurrency test
I'm learning Java concurrency by a TDD approach. Therefore I wrote a basic test case in JUnit to test the behaviour / expected results of 2 threads. I'm looking for feedback for this code. In ...
0
votes
1answer
29 views
Turn a Non-blocking Concurrent Queue into a Blocking Concurrent Queue
Microsoft Visual Studio offers a non-blocking concurrent queue class, concurrency::concurrent_queue, based on Intel's TBB.
I am using this as a base for a blocking ...
0
votes
1answer
31 views
Concurrent Stack with blocking and non-blocking methods
I wrote it this just for learning. Is there holes at this code?
...
1
vote
1answer
37 views
Concurrent blocking stack
I just want to train before interview. I googled concurrency interview questions and one of the question was write concurrent ready stack.
...
2
votes
2answers
134 views
Running multiple producer and single consumer in a multithread environment
I have a below class in which add method will be called by multiple threads to populate messageByChannelReference concurrent ...
3
votes
1answer
79 views
Parallel brute-force solution for Project Euler 4 (Largest palindrome product)
The pe4Concurrent.go file given below is my first attempt at writing a concurrent programme, pe4.go is a non-concurrent implementation of the same algorithm for comparison purposes.
The algorithm ...
3
votes
0answers
44 views
Creating an observable stream of clicks and converting it to an iterator
Problem 1
StratifiedJS allows people to cleanly create observable streams using the Stream class from sjs:sequence:
...
0
votes
1answer
32 views
1
vote
1answer
56 views
Receiving messages from TCP socket and processing them
I would like someone to look at my class for reading messages from a network socket. In short, the whole app should behave like a regular ping command with some additional functionalities. The point ...
2
votes
0answers
26 views
Concurrent ObjectPool using ConcurrentLinkedQueue
Main ObjectPool Class: It uses atomic operations and a concurrent linked queue to achieve the best performance compared to Apache commons pool. I want to make sure there are no concurrency issues even ...
0
votes
0answers
32 views
Queue that permits at most X simultaneous operations
I ran into this once (permits=N) and then again today (permits =1) where I only want 1 to N operations running simultaneously. One example comes from firing into a state machine (the permit=1 example)...
4
votes
0answers
43 views
Concurrent Queue using Ada SPARK with the Ravenscar profile
See here: https://gitlab.com/linted/linted/blob/162b5e9fba53a90b3c6d78e214776e069c3c722b/src/ada-core/src/linted-queues.adb
The code implements a concurrent queue.
It can't allocate memory or use ...
6
votes
1answer
84 views
RabbitMQ wrapper to work in a concurrent environment
I'm developing a common library for my organisation that will be used across different services by different teams. The library is a simple wrapper for RabbitMQ.
Some services will only be producers, ...
2
votes
0answers
52 views
RCU in C++11 using std::shared_ptr and a little more
Here's some code I wrote to solve a problem at the server I'm working on. Is this valid? I've tested it, and it works, but I would like some opinions on this.
It's basically a ...
6
votes
1answer
71 views
Consumer/Producer (Concurrency) - Exception Handling
I have a circular buffer (array/first in first out), a consumer and a producer. A producer puts random numbers into the array, and a consumer takes the first number and checks if it is relative prime.
...
3
votes
1answer
59 views
Time out or get a result when available
I have a system that can put and get messages from a messaging middleware (JMS), which is asynchronous. I need to provide an API that allows synchronous call, as in, when the API/method is called, it ...
3
votes
2answers
69 views
Enforce execution order with collections of CompleteableFuture's
I receive a message that contains a collection of items that need to be processed.
Processing each item involves sequential calls to various services.
The services return a ...
4
votes
2answers
208 views
Recurrent action on concurrent collection
I have a bunch of concurrent threads carrying out operations which return alerts. The alerts have to be persisted to a DB, but this cannot be done concurrently as it may cause duplicate alerts being ...
3
votes
2answers
186 views
3
votes
2answers
74 views
Filter request code handler
I use the following code which works OK, the code is filtering requests and in case there are too many requests it sends some logs/errors
since I'm very new to Java my question if there is a better ...
3
votes
1answer
56 views
Executing an SQL command on a number of files
Is this thread safe?
I have a program that executes an SQL command on a number of files (selected by the user).
Here is where I create the threads:
...
2
votes
1answer
109 views
Ensuring no race conditions in my concurrent/parallel ForEachAsync method
Hopefully the final chapter of my ForEachAsync code review. The original question was the starting point and the second question contained modifications suggested ...
4
votes
1answer
89 views
Semaphore based concurrent work queue
There's a need to have a mechanism in place that will process messages received from the network concurrently. However, only X number of messages can be allowed to be processed concurrently and there'...
7
votes
1answer
125 views
Constant keys thread safe dictionary
I find that I use this pattern a lot where I have a dictionary which I would only read from and update and wouldn't add/remove keys.
In that case, using ...
2
votes
1answer
116 views
Concurrent/parallel ForEachAsync - proper handling of exceptions and cancellations
I've created an asynchronous parallel ForEach mechanism so I could enumerate an enumerable by N degrees of concurrency and process an action for each item. ...
2
votes
1answer
98 views
Internship coding challenge post-mortem
I wrote this in 78 minutes as part of an application to an internship program. We were allowed to use whatever language we wanted, so I picked Rust because that's what I use the most. I'm a ...
2
votes
1answer
95 views
Creating a concurrent/parallel ForEachAsync that can fail immediately or wait until enumeration is complete
I needed an asynchronous parallel ForEach mechanism so I could enumerate an enumerable by N degrees of concurrency and process an action for each item. Searching ...
1
vote
2answers
105 views
One producer and multiple consumers wherein the producer has to wait until all consumers finish before adding more data
I am trying to solve the scenario involving 1 producer and 5 consumers. The producer puts data to queue and waits till all consumers have finished before adding more data.
Please review and let me ...
5
votes
1answer
49 views
Concurrent task pool
My use case is to dispatch multiple long-running tasks to execute concurrently. The expectation is that the tasks will be IO-bound (e.g. network requests), but importantly each task is different. This ...
1
vote
0answers
39 views
Combination of Java's Future and Android's AsyncTask
My goal is create a class which implements Future interface of Java (get, cancel, isDone...), yet provides callback like ...
1
vote
1answer
53 views
Synchronize different tasks (I/O listening daemon, prompt scheduler, output etc)
Shortly, I need to create a Java application with client/server architecture (clients represent some sort of math functions and when they are done computing, server consumes these values and produces ...
5
votes
2answers
88 views
URLEncoder implementation
I'm looking for feedback on my URLEncoder implementation, which is a drop-in replacement for Apache Tomcat's URLEncoder. It was ...
1
vote
0answers
30 views
Adding to a message queue if more important messages come in
We need to send messages with highest priority first so we use a PriorityQueue for our purpose.
...
1
vote
2answers
58 views
Threadsafe filtering queue
I have implemented a thread safe filtering queue. The queue allows any objects, of the specified type to be added. A thread interested to take an object must specify which object it is interested in ...
1
vote
2answers
236 views
1
vote
0answers
37 views
Simple Agent in F#
I wrote a simple agent system based on the agent type from Akka. It allows you to encapsulate a mutable state in a thread safe manner for use cases where mutation would be most convenient (like for ...
0
votes
1answer
113 views
Simple parallel_for_each in C++
I need to parallelise a for loop that does quite a lot of processing over thousands of items. I came up with this basic loop that seems to work quite effectively on ...
1
vote
0answers
40 views
Wikipath stack in Java - Part I/IV - The search algorithm
I am working on the following small software stack:
The objective of the entire stack is to search for shortest paths in the Wikipedia article graph as fast as possible. As of now, I rely on two ...
6
votes
5answers
947 views
A buffer that holds and provides the latest n items
I have developed the following code to hold n latest items it has received, and when asked for provide these n latest items.
The interface is:
...
3
votes
1answer
66 views
Receptive map queue
I've written a class I call ReceptiveMapQueue. Its purpose is to organize the internal structure of an AFKable RPG. It only has two public methods - dumping entries ...
0
votes
0answers
184 views
Ruby thread pool implementation
I'm in the process of adapting the simple thread pool described here to my application. I'm new to concurrency in Ruby, but here is what I have so far:
...
4
votes
2answers
118 views
Concurrent for loop in C++ - follow-up
I have incorporated all the cool points made by ChrisWue in the initial iteration of this post.
Now, I am not reinventing the wheel for my concurrent queue, but use internally ...
5
votes
2answers
83 views
Java controller to farm out concurrent tasks
I've recently given a coding interview on a Java concurrency task and unfortunately didn't get the job. The worst part is I've given my best but now I'm not even sure where went wrong. Can anyone ...