Questions tagged [concurrency]
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 processors.
408
questions
0
votes
0answers
35 views
2 Weeks into Go: Golang Tour WebCrawler Exercise
I'm on week 2 of learning go. I just completed the golang.org exercise on creating web crawler (https://tour.golang.org/concurrency/10) and I would please like feedback on my code. It feels overly ...
3
votes
1answer
56 views
Barging lock in Java
I found myself in need of a lock that allows my server to barge the write lock that might be acquired by my users. It would never interrupt them, but it would jump the line so the next time the write ...
1
vote
1answer
56 views
Parallelized web crawler using goroutines and channels
As part of the "a tour of Go" section on golang.org, I was trying to make a (formerly singlethreaded) web crawler parallelized using goroutines. I got it working but it doesn't seem to "...
3
votes
1answer
78 views
Thread-safe LFU Cache
I am trying to implement a thread-safe LFU cache algorithm, please review my code and would really appreciate some criticism or suggestion. (on naming, design, data structures used, anything)
Some ...
2
votes
1answer
61 views
Thread-safe LRU Cache Implementation in Java
I am trying to implement a thread-safe LRU cache algorithm, please review my code and would really appreciate some criticism or suggestion.
Some assumptions:
capacity will be larger than 0
Some ...
4
votes
1answer
38 views
SHA256 password cracker - v2 with concurrency
I have updated my previous code with the suggestions. I have also implemented concurrency to speed up the results.
I'd be interested for comments on a more efficient use on concurrency / parallel ...
1
vote
1answer
59 views
SO golang example with infinite for / channel workers
I whipped this up as an example of how infinite loops can often be used to great effect in golang, and also to discuss closing channels and worker communications. It was strictly off the cuff, but I ...
3
votes
1answer
56 views
Waiting for goroutines to finish
I have a program that starts a bunch of goroutines, feeds them data and when there is no more data, waits for the goroutines to finish. I use sync.WaitGroup. I am unsure if I am using correctly, in an ...
4
votes
1answer
116 views
Speeding up I/O bound python program
I have the following program. I have 90 million domain names split between 87 files. I need to resolve the IP of all. Right now I feel like this is super slow.
...
4
votes
1answer
65 views
A Concurrent Tree implementation with consistent snapshot capability
I have a tree in my application from which I need to periodically take a snapshot. I've been using locks so far, but after running into a few deadlock issues I decided to create a lock-free ...
6
votes
1answer
132 views
Concurrent Web Crawler
Description
As an exercise of learning go concurrency patterns, I decided too build a concurrent web crawler.
I made use of the argparse module I put up for review a while back.
I'm looking for ...
2
votes
1answer
53 views
Concurrent dependant routines in a gui application
The idea is that, in my application I have 5 routines named long_process_1, long_process_2, ...
2
votes
1answer
51 views
Keep reading user keyboard input if available, while echoing back the latest available
On StackOverflow I have asked a question a few minutes ago, but then by trying a bit more, I found the answer myself, and I'm posting the resulting working code here for review.
What the code does, is ...
4
votes
0answers
71 views
Game of Life, thread per cell
In an effort to learn Java's support for concurrency I solved a self-imposed exercise to write a Game of Life simulator in Java, running a separate thread for each cell.
Here is my code:
...
1
vote
0answers
23 views
Orchestrating an unknown number of goroutines
I recently wrote a piece of code to parallelise some code with goroutines and I was wondering if I could get some feedback. It looks overly complex... but I'm not sure how I could make it simpler.
It'...
4
votes
1answer
84 views
A concurrent lock-free Linked Queue implementation
Recently I've been learning about concurrency/parallelism and I decided to implement the Michael&Scott lock-free Linked queue (PDF) as practice.
I'm not entirely sure how to test this data ...
3
votes
0answers
170 views
Dining philosophers problem in Go
I'm new in Golang and haven't done concurrency in a bit. I would love to hear your opinion on my Dining problem Go solution. Description here, with a tl;dr below:
Five silent philosophers sit at a ...
3
votes
0answers
34 views
n executions of a periodic goroutine
I'm new to Go and have a use-case for periodically executing an async work-function. I want the interval between work-function executions to be constant (not the time between one finishing and the ...
7
votes
0answers
83 views
Implementing GSL synchronized_value
Core Guidelines mention a type synchronized_value<T>, which supposedly pairs std::mutex with the internal value. I couldn'...
2
votes
1answer
46 views
Concurrency mechanism for ensuring repeated threads are executed in a given order
Inspired by the following leet-code
Suppose you are given the following code:
...
7
votes
1answer
190 views
Reading one source Stream by multiple consumers asynchronously
The problem was using single Stream from the HTTP response in multiple consumers simultaneously. For example: while data is loading, I want write it to the some ...
0
votes
0answers
49 views
Why is my Python thread pool faster than my Go worker pool?
I have recently been digging into understanding Golang concurrency, in particular the use of channels and worker pools. I wanted to compare performance between Go and Python (as many have done) ...
0
votes
0answers
38 views
Run non overlapped periodical tasks on user specified executor
I have concurrency tasks in my module: user code is able to instantiate my object and specify Executor service, then user can submit requests to this object which ...
1
vote
1answer
95 views
Concurrent Queue with enqueue and dequeue using Stack as underlying data structure
This is a mix of data structure and multi threading concept based question. (This is only for understanding and learning purpose) The language for the solution : Java
A Queue with FIFO behavior needs ...
5
votes
1answer
186 views
C++ latch implementation
Since std::latch is not in many standard C++ libraries, I tried implementing my own, is it OK from memory ordering perspective or ...
3
votes
1answer
54 views
Command line dictionary tool, using webscraping
This is my first proper Go program, after completing Go by Example and https://tour.golang.org. I have a background in Python.
This program scrapes definitions from Wordnik, then prints them nicely ...
1
vote
0answers
41 views
infinite generator with eviction
I made a struct that will loop through a list, and return the next element on calls to the Get() method.
It also allows to remove elements from the list by calling the Evict() method, and is safe for ...
1
vote
1answer
77 views
Banking application - Optimizing java multi-threading code
I created a simple Bank application to make multiple transactions between multiple accounts. It is working as expected. But I want to know can I make the code more optimized.
...
4
votes
1answer
96 views
One consumer and two producers using threads
I have based this code on Producer-Consumer Threading on Real Python.
The idea is that I have 2 producers:
One producer will give result every 0.4 to 0.7 seconds, depending on REST call.
The second ...
1
vote
0answers
28 views
Executing two database queries concurrently in Go [closed]
I would like to execute two database queries concurrently for quicker response time. Since channels seemed to be too verbose, I came up with the solution below. However, I'm not very confident about ...
3
votes
2answers
61 views
Simple multiple producer and single consumer concurrency pattern
Anyone please review and share your feedback for the following code.
Multiple producers generate random integer numbers and a single consumer receives it to display only odd numbers out of it.
...
1
vote
1answer
183 views
A multi-thread Producer Consumer, where a Consumer has multiple Producers (C++17) - Part 2
This post is based on A multi-thread Producer Consumer, where a Consumer has multiple Producers (C++17). I am trying to build a Consumer that consumes data from ...
5
votes
3answers
2k views
A multi-thread Producer Consumer, where a Consumer has multiple Producers (C++17)
EDID: Thank you very much for your feedback. I updated the code and opened a new post for the updated version. See here.
This post is loosely based on A multi-threaded Producer Consumer with C++11.
...
7
votes
2answers
881 views
Multi Threaded High Performance txt file parsing
EDIT
A port of Björn's answer to C++ with further improvements at bottom achieving up to 2.4GB/s on the reference machine.
Text file parsing and processing continues to be a common task. Often it's ...
3
votes
0answers
2k views
Hosted service for queuing and running tasks in parallel in ASP.NET Core
I am attempting to construct a background service for an IIS-hosted ASP.NET Core project that basically queues tasks and runs them, and I decided to go with the ...
2
votes
2answers
101 views
Recursive Mergesort using goroutines
When learning a new language, one of my first tasks I like to go through is writing a few different sorting algorithms in that language to help familiarize myself with the syntax and see if there are ...
1
vote
1answer
370 views
Thread Safe Bank Transaction: Deposit, Withdrawal, Check Balance and Transfer in Java
I have made a class which is a thread-safe implementation supporting Deposit, Withdrawal, Check Balance Querying and Transferring of money.
I have a class Account:
...
3
votes
1answer
86 views
Code to print even and Odd number using two threads
Below I am giving you my code which I wrote to print even number using even thread and odd number using odd thread sequentially.
Could anyone please validate my code whether it is correct way of ...
2
votes
1answer
71 views
Concurrency-safe task scheduler
I'm trying to do some task scheduler and worker. Tasks are added to the queue from which worker retrieves and processes them. Tasks from one queue must be executed sequentially. Tasks from different ...
2
votes
1answer
2k views
Simple Producer-consumer implementation in Python
I implemented a simple solution to the Producer–consumer problem
that I'd love for you to take a look at.
The producer simply adds random numbers to a queue and the consumer (from a separate thread) ...
2
votes
0answers
85 views
Concurrent execution and coordination of C# tasks
I have a class, 'TaskCoordinator' which has 'BaseTask's applied to it.
The BaseTasks have OnStarted, OnFinished and OnCancelled events which are triggered to notify the calling class of their events....
3
votes
0answers
43 views
Concurrency control between a non-blocking and a blocking methods
In this program, there is a list of Holders that is managed by a singleton class. Each of the Holders keeps a copy of the ...
4
votes
1answer
2k views
Asynchronous parallel ForEach implemented using Task.Run
I wrote a simple implementation of aysnc parallel.ForEach( ... )
All it really does is create a list of tasks and wait for them all to complete and aggregate the ...
3
votes
1answer
46 views
Count Words in Quotes Fetched from Website
I have solved the following exercise and would like to get some feedback on my implementation.
Create a function that uses futures to parallelize the task of downloading random quotes from https://...
10
votes
4answers
3k views
AsyncDictionary - Can you break thread safety?
This class is an Async/Await wrapped Dictionary. Of course it doesn't technically implement IDictionary, but the functionality is basically the same as an IDictionary. It achieves similar ...
4
votes
2answers
998 views
Unisex Bathroom problem without semaphore
Could I ask you to evaluate my solution to Unisex Bathroom Problem?
Problem description
An office has a bathroom that can be used by both men and women, but not both at the same time. If a man is ...
3
votes
1answer
136 views
Find shortest path in the matrix for multiple objects
I have the implementation of A* search algorithm that allows to find the shortest path from start to goal.
The implementation looks like this
...
5
votes
2answers
172 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 ...
7
votes
1answer
73 views
Concurrent Queue Adapter
There's lots of code out there for basic adapters of std::deque to provide a thread-safe queue. I've adopted that, but wanted to provide a relatively full analog to ...
11
votes
2answers
566 views
Parallelized for loop in Bash
I am using a Bash script to execute a Python script multiple times. In order to speed up the execution, I would like to execute these (independent) processes in parallel. The code below does so:
<...