Skip to main content

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.

Filter by
Sorted by
Tagged with
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 ...
nop's user avatar
  • 779
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. ...
aybe's user avatar
  • 612
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 ...
Joost00719's user avatar
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++...
Y.frank's user avatar
  • 29
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 ...
Hans Billiet's user avatar
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: ...
Hans Billiet's user avatar
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 ...
Bogatitus's user avatar
1 vote
1 answer
675 views

Execute .NET Core 3.1 background worker tasks simultaneously

I have following code: ...
leroy's user avatar
  • 13
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 ...
Paul Totzke's user avatar
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 ...
Usman Khan's user avatar
4 votes
1 answer
78 views

In-proc event dispatching through IoC container

Here is the sender and handler interfaces: ...
Dmitry Nogin's user avatar
  • 6,121
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 ...
ZMJ's user avatar
  • 51
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, ...
user3591541's user avatar
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: ...
Maxim Tkachenko's user avatar
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 ...
rhughes's user avatar
  • 270
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 ...
Kixoka's user avatar
  • 143
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 ...
Adam H's user avatar
  • 161
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 ...
Steve Ngai's user avatar
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 ...
Chris's user avatar
  • 143
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 ...
Matthias Herrmann's user avatar
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: ...
Dmitry Nogin's user avatar
  • 6,121
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 ...
Rhaokiel's user avatar
  • 141
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 ...
Александр Пекшев's user avatar
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....
Timmoth's user avatar
  • 21
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 ...
Blue's user avatar
  • 79
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 ...
shannon's user avatar
  • 151
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 ...
bakunet's user avatar
  • 81
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 ...
Nameless's user avatar
  • 153
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 ...
Interminable's user avatar
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 ...
Neo's user avatar
  • 119
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 ...
inwenis's user avatar
  • 303
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: ...
Loreno's user avatar
  • 143
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 ...
Muhammad Qasim's user avatar
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 ...
inwenis's user avatar
  • 303
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 ...
Trauer's user avatar
  • 801
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 ...
itsDrew's user avatar
  • 21
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. ...
Dmitry Volkov's user avatar
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 ...
Enrico Massone's user avatar
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 ...
JSteward's user avatar
  • 111
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 ...
Aaron M. Eshbach's user avatar
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 ...
user875234's user avatar
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: ...
Vinit Divekar's user avatar
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: ...
geometrikal's user avatar
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. ...
danish's user avatar
  • 157
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 ...
JohnWick's user avatar
  • 425
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 ...
Disappointed's user avatar
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 ...
Ori Refael's user avatar
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 ...
JohnWick's user avatar
  • 425
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, ...
richzilla's user avatar
  • 175
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 ...
JohnWick's user avatar
  • 425