Questions tagged [task-parallel-library]
The Task Parallel Library is part of .NET 4 and .NET 4.5. It is a set of APIs to enable developers to program asynchronous applications.
150 questions
1
vote
1
answer
384
views
Request-response model over sockets/websockets
This is a request-response model over sockets/websockets (like HTTP) where you technically match request id to response id and return the response. In addition to that, there is timeout in case that ...
4
votes
1
answer
167
views
Implement DRY principle with IAsyncDisposable
This is a tiny class that creates backup copies of a file so these can be diff'ed to spot the changes compared to last run; used when generating code and so far has proved to be very helpful.
...
2
votes
2
answers
2k
views
Extension methods to modify an async Task's type from Task<IEnumerable<T>> to Task<List<T>>
I've written a lot of (await SomeTask).AsList(); in my project, and it's kind of annoying to keep wrapping it.
To fix this I've written a little extension method on ...
1
vote
1
answer
608
views
Make C++ Task class similiar to C#'s Task
I am enjoying making various programs with C++.
This is my first code review request. And I hope I can get some insights or might have good advice to make my code better.
I make a task class using C++...
3
votes
0
answers
7k
views
What is better - using SerialPort with or without await/async methods?
I'm having an implementation using SerialPort in C# using Visual Studio 2019. I'm using it in a Windows Application, using .NET Framework 4.7.2.
When I open and ...
2
votes
0
answers
587
views
Is there a more elegant syntax using "Task.WaitAll" for 2 tasks and timeout
I'm using the SerialPort in C# using Visual Studio 2019.
My SerialPort has 2 "pump" tasks, which are private members of my SerialPort, and are started during an Initialization method:
...
1
vote
1
answer
324
views
What is wrong with this CancellationTokenSource example
Anybody mind providing an opinion on whether or not this is a good or bad example of Task Cancellation and why. I have my own opinion and I've been told that its baseless, just trying to find out who ...
1
vote
1
answer
675
views
Execute .NET Core 3.1 background worker tasks simultaneously
I have following code:
...
3
votes
3
answers
1k
views
Throttled execution of an enumeration of Tasks
Example of use:
var users = await usernames.SelectTaskResults(GetUserDetails, 4);
where GetUserDetails(string username) is a ...
1
vote
1
answer
513
views
Render multiple SSRS reports in parallel
This service takes in a report request object that can contain multiple reports that need to be rendered. This code works but I'm not sure if I've implemented anything wrong. Note the ...
4
votes
1
answer
78
views
In-proc event dispatching through IoC container
Here is the sender and handler interfaces:
...
5
votes
1
answer
720
views
Parallel Calls to External WCF Service - ASP.NET Web Api
I have come across a situation where I feel running some code in parallel will greatly improve performance, but I am concerned about the implementation and am looking for some confirmation. Take the ...
2
votes
1
answer
597
views
A method that calls multiple async tasks with error handling, done the right way?
I've got a method, CheckForValue(), that uses named pipes to send a message to another process running locally, and then receive a message from that process, ...
1
vote
1
answer
486
views
C# extension method to do some action if a target operation takes too long time to finish
I have a potentially long running operation and I want to trigger some action if takes too long time. Also I want to reuse this logic. Operation to check:
...
4
votes
1
answer
166
views
Updating items in a list from a blocking source asynchronously
This is a Windows forms application.
this.Server.GetLogMessages() will block if there are no messages to get, so I want this in a separate thread. I'm putting the ...
4
votes
2
answers
166
views
Creating an app to simulate load
I am writing an app that is supposed to simulate load on our web api and NServiceBus(particular) service. This is the first time I am writing an application like this. It appears to run ok, however ...
1
vote
1
answer
175
views
Invoking subscribers of an action in parallel c#
I have a questions as to the proper way to structure the code below.
This snippet of code is used within a socket class which is intended to be a high performance socket. Many data handlers subscribe ...
0
votes
2
answers
238
views
Comparing performance between thread, task, parallel
I wrote some function to compare the duration taken for 1000 loops. Just wondering if the comparison is right? For the thread, I want to set to maximum 3 thread. Thread is ...
4
votes
1
answer
64
views
Multi-threading with TPL - Access Internal Class Properties
I am using the TPL library to parallelize a 2D grid operation. I have extracted a simple example from my actual code to illustrate what I am doing. I am getting the desired results I want and my ...
1
vote
2
answers
559
views
C# Ping - Checking availability of hosts
Simple Console Application for checking if one of the hosts is available. The implementation should be for around 5 hosts to check with different response times and the method should return fast when ...
2
votes
0
answers
89
views
Execute asynchronous read in parallel
I found it useful to execute multiple reads in parallel using a set of my extension methods for TaskFactory, which could be used as:
...
4
votes
1
answer
728
views
Iterate through Expression Tree
I'm trying to build an iterator (enumerator) that can select specific elements in an Expression tree by traversing the tree and deferring further iteration until ...
2
votes
0
answers
350
views
Retry HttpClient request without handlers
I have a server and client application. In the client application, there are HttpRequestException class exceptions on requests. As it seems to me - these exceptions happen in isolated cases and not ...
2
votes
0
answers
131
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....
1
vote
1
answer
118
views
Async Tcpwriter and Reader
I currently have a class that I want to serialize/deserialize messages sent to this socket.
My plan was to use Task.WhenAny() to monitor 2 tasks (Either watch ...
5
votes
2
answers
258
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
208
views
Scraping an parsing jockeys data using Task.Run
I started to have HUGE doubts regarding my code and I need some advice from more experienced programmers and architects.
On the button click, the application runs a method, that is running a ...
7
votes
1
answer
2k
views
Usage of TPL vs Parallel.ForEach() on file processing
i've been working on an implementation of a my own from scratch set of library Astron and I wanted to get my TPL usage reviewed because i'm not confident with this technology :/
My app is currently ...
5
votes
1
answer
5k
views
SemaphoreSlim extension method for safely handling cancellation and disposal
I have often found myself using a try {semaphore.Wait()} finally {semaphore.Release()} pattern when using a semaphore, so decided I wanted to try and write an ...
1
vote
0
answers
828
views
Sending device data of 10k items with Parallel.ForEach
I have a deviceList of more than 10k items and want to send data by calling another method.
I tried to use Parallel.Foreach but I'm not sure is this the correct ...
6
votes
2
answers
2k
views
Parallel FTP client
I was given the task to download files for a FTP server. The download should be fairly fast. 15 parallel connections can be used.
I have used FluentFTP as the ...
1
vote
1
answer
157
views
Asynchronous wrapper for database connection
I'm using a database that has a library for access to it. Connection is done synchronously, it's blocking and I do not have a way to abort it. To connect, I have to write:
...
1
vote
1
answer
147
views
Receiving and sending notifications from database
I'm not much familiar with Task Api programming in C#. Can anyone review my following code?
The following is a ElapsedEventHandler of a ...
1
vote
0
answers
747
views
Using up to 15 connections to synchronize files from a FTP server with local files
Task: Create a service which will synchronize files on FTP server with files on local drive.
FTP server allows up to 15 concurent connections
Synchronize the files as fast as possible
Files on FTP ...
3
votes
1
answer
457
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 ...
2
votes
0
answers
60
views
Task based GameObject recorder for networked game
I've recently been dipping my toes in to async code so I'm not 100% sure if there's a better way to do this, or if I'm going to run into problems down the road.
I plan on using the following class in ...
1
vote
1
answer
140
views
Concurrent usage of resources
Please take a look at the following code. This is my attempt at understanding concurrent applications.
...
6
votes
2
answers
6k
views
ForEachAsync extension method (a way to run an async operation on each item of a sequence in parallel)
In a recent project I worked on we faced some issues due to an excess of parallelization (thousands of threads were created and the overall result was a degradation of performance and several spikes ...
1
vote
1
answer
130
views
Dispatch multiple publishers to single handler with result
This code defines a MessageBus used to handle messages from many producers to a single consumer. The bus allows multiple publishers to send messages asynchronously ...
5
votes
1
answer
177
views
Async/Await Computation Expression
When writing asynchronous code in F#, one often needs to call methods in the .NET BCL that return Task or Task<T> rather ...
4
votes
0
answers
64
views
Coordination function
This function started very clean but I had to add requirements:
Added a Stopwatch to only update the caller periodically. I guess that responsibility could be ...
1
vote
1
answer
2k
views
Creating membership list with Parallel.ForEach [closed]
I had a foreach loop which used to loop Membership users and create list of a custom class. Following was the for loop:
...
3
votes
1
answer
12k
views
Simple server using async and HttpListener
I have a program that controls a custom machine. I wanted to add some simple HTTP comms so I could control it from the network or other programs.
My server class is:
...
2
votes
3
answers
2k
views
Writing to file using TPL with ConcurrentQueue
Here is a sample code to explain the approach I am going for.
...
11
votes
1
answer
442
views
Testing a list of proxies for validity concurrently
I have a class that tests a list of proxies for validity concurrently, which I have created in 2 different ways, one utilizing Parallel.ForEach and the other using a TPL Dataflow ActionBlock.
I am ...
3
votes
2
answers
115
views
parallel bing maps searching
Please assist and review the following task.
There are many geographic data to be found using the Bing Map server. It is necessary to collect data, parse bing response and store it in one of two ...
3
votes
2
answers
6k
views
Running parallel tasks until they're done
The General Idea
I wish to simulate something which works like Java's ThreadExecutor, but as a first step, I would like to run a fixed number of identical tasks in ...
6
votes
1
answer
5k
views
Process List asynchronously with SemaphoreSlim for throttling extension method
I've got some methods that follow a similar pattern, and wanted to abstract some of the logic away into an extension method. Specifically, I am processing lists of objects with the TPL, and throttling ...
1
vote
2
answers
321
views
Parsing NuGet packages.config with Parallel.ForEach
Below is a file parser for old style nuget package configuration files. The Parallel.ForEach is probably overkill; in most cases its fast enough without. However, ...
4
votes
1
answer
2k
views
PauseOrCancelTokenSource
I added this implementation of PauseToken and PauseTokenSource to my project from this MSDN blog post: Cooperatively pausing async methods
Since I will usually be passing in both a PauseToken and a ...