Questions tagged [async]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
2 votes
2 answers
218 views

What are the risks in eliminating sync over async?

I'm reviewing changes to a widely used library, which are supposed to be refactorings, and so we want to minimize the risk of introducing any accidental regression. Of course, there are changes from ...
3 votes
1 answer
324 views

Should web API controller actions that perform no async work always be declared as async?

I have been going over our app web api and making sure all async work is async all the way - and no artificial asynchronicity is enforced. Say I have the following web api controller: [HttpGet] ...
  • 371
0 votes
1 answer
75 views

Bubbling errors upstream in async message-based services

Imagine a simple set up of an API and a 2nd service, where the API pushes some msgs to the message queue and the service pulls them and processes them. Now, if an error occurs while processing a msg, ...
0 votes
1 answer
219 views

How to optimize average rating calculation in a review system?

I'm thinking of a designing a review system (restaurant, hotel etc) where users can drop star reviews. Typically in a such a application, you can see the average rating of an entity along with all ...
1 vote
1 answer
35 views

How should I handle routine health checks in a Node.js/Nest.js application?

I have a Nest.js application, and lately I've been thinking about how I can ensure that data is synchronized between two sources - my database and an external database. For example - and to my ...
0 votes
1 answer
140 views

Can resource which requires asynchronous cleanup be constructed synchronously?

More specifically this applies only to resources which have asynchronous dependencies themselves (but I think that's majority of them). Concrete example: class Foo : IAsyncDisposable { public ...
  • 363
43 votes
6 answers
16k views

In JavaScript, how is awaiting the result of an async different than sync calls?

I'm having a hard time wrapping my head around the use of async/await and regular sync function calls in JavaScript. Let's say I have two functions: Function 1: async function doSomething() { ...
  • 1,221
0 votes
3 answers
175 views

Critical section with two different "rights of way" [closed]

In C#, how do I handle critical section with two different "rights of way"? Theoretical use case: imagine a swimming pool (the resource). Many individual swimmers (worker threads A, B, C, ...
  • 119
2 votes
1 answer
157 views

Share models between AsyncAPI and RESTful APIs?

What I try to solve: Given I run a set of microservices, most of which expose a RESTful API and additionally publish or consume events via messaging broker, and I have decided to go "API first&...
  • 137
0 votes
1 answer
61 views

Long-running jobs in an event-driven environment with constrained max-execution-duration

Hello we have an async event-driven system (kotlin, spring cloud stream, rabbitmq) where there might be an event FooPayloadArrived, published by an ingress rest-controller. Processing this ...
  • 115
3 votes
1 answer
314 views

Could the async keyword be eliminated in a new programming language?

This post implies that the creators of Rust had to add the "async" keyword to make the async/await functionality backward compatible. Why do we need the async keyword? In a new language, ...
0 votes
1 answer
305 views

Asynchronous Server in C++

We are looking to develop an asynchronous server in C++. We are coming from C#, which has built-in support for async-await networking. However, with C++ it appears as if it is basically mandatory to ...
  • 113
-3 votes
1 answer
150 views

Why isn't JavaScript always async? [duplicate]

In JS, code runs single-threaded, that's why asynchronicity is necessary. I cannot use code like result = someRequest(), instead I need to give it a callback someRequest(resultCallback) or write a ...
  • 179
2 votes
2 answers
254 views

Should I create two synchronous or a single asynchronous rest APIs?

Here is the situation. System A sends the notification as it completes the work items to System B. System A does not know how many items the project consists of. It's just a pass-through system. ...
-2 votes
2 answers
1k views

Measuring async/await overhead

A while ago I read an article stating that overhead of an async/await call was around 50ms. More recently I read an article that it was around 5ms. I was having a discussion about whether we should ...
  • 375
1 vote
3 answers
848 views

Is it bad practice to do additional work in IAsyncEnumerable generator method?

Imagine you have to process each row in a large table. For every single row you have to download some data from a web service and store it in a different database. Loading all rows at once into the ...
  • 13
-3 votes
1 answer
92 views

How does a site API determine the difference between a user and program request in a browser?

So this is in regards to scraping yes; no language in particular. Some sites allow you to see a JSON modal if you pull it directly from a web browser. But, at any notion a program is used, immediately ...
0 votes
2 answers
288 views

Why/When do we need to call an async method from a sync method?

It is my first question here so I hope I'm not doing a mistake. I see a plethora of questions in SO that people ask "how can I call an async method from a sync method?". Given my little ...
1 vote
1 answer
198 views

C# design for handling a high rate of async network operations that complete with a callback (hundreds per second)

I am working with a message broker technology, to which events will be published (following an "event carried state transfer" architecture) for consumption by other applications. The vendor ...
  • 306
1 vote
1 answer
225 views

C#: Should I define methods as async?

I have a C# (WPF) application which consumes a particular 3rd party API/tool (let's call this Tool A). My colleagues and I are trying to decouple that from our application, so that it is possible to ...
  • 113
3 votes
1 answer
584 views

What are the different messaging patterns for multiple producers to single consumer through a distributed queue?

We have multiple producers that publish messages to the same SQS queue. We have a single consumer that processes the messages. The producers do not care about the response. It is more like a broadcast ...
  • 139
-2 votes
1 answer
244 views

Designing a sqlite component in C++

I work on a small component in an embedded device (sensor). This component : Every 5 seconds, sends requests to other components using sockets (get health check status, operating status etc) and ...
  • 137
2 votes
1 answer
1k views

Why no async functions for Utf8JsonReader and ReadOnlySequence

I have used Utf8Json a lot (it is very good) but have since adapted some lower level code and started using Utf8JsonReader directly. Looking into the code of the Utf8Json library, I see ...
  • 335
-2 votes
2 answers
438 views

Async Value Object Creation (DDD)

Suppose that I have a Value Object representing an Image URL of a Cake. To check that it really is a cake, I make an asynchronous API call to a server that checks whether the image really represents ...
3 votes
3 answers
606 views

Issues with an interface treating a synchronous action as async

Let's say I'm trying to write a library that abstracts certain actions. In this example I want to turn a light on or off. There could be hundreds of different kinds of lights that are controlled in ...
  • 171
0 votes
1 answer
79 views

Organizing Parallel Arrays of Promises / Async tasks

I'm struggling a bit for a preferred way to organize a sequence of asynchronous tasks that can be applied in parallel. Say, you are parsing data from many files. In my case I'm using javascript and ...
  • 8,575
4 votes
3 answers
828 views

How does an hexagonal architecture help with async/await async-over-sync?

In his book "Concurrency in C# Cookbook", Stephen Cleary writes: If you can, try to organize your code along modern design guidelines, like Ports and Adapters (Hexagonal Architecture), which ...
  • 231
3 votes
1 answer
805 views

Difference Between AsyncResult and Task in c#

So, in C#, I understand the historical difference between the two vaguely; a Task is a newer concept and the highest level concurrency native C# offers. AsyncResult is a bit more ambiguous. For ...
0 votes
2 answers
142 views

What is the best practice for incorporating asynchronous code in this case?

Context: I'm building a popup widget. The html and css files are stored in S3. I need to get those files asynchronously and then continue with the rest of the logic. In the code below, I'm getting ...
2 votes
1 answer
739 views

Implementing both Sync and Async clients with DRY

I'm developing a client library. I'd like to provide both Sync and Async interfaces to endpoints on a server. They would be rather easy to implement as completely separate entities, but I would like ...
  • 347
0 votes
1 answer
1k views

Unit testing async tcp server

I built an async multi-client TCP server for RPC usage. It's working well but I've found it difficult to unit test certain functionality: Connect 2x clients, is client count 2 Connect 1x ...
  • 111
5 votes
2 answers
3k views

How do JavaScript engines convert async/await to promises under the hood?

I'm curious how the async/await syntax is converted to Promises. Maybe I'm just not thinking about it properly, but I don't know how this code would be converted to a Promise: async function myFunc(...
1 vote
1 answer
239 views

How is an async stack implemented?

I am working on creating a simple VM sort of thing in JS: let sp = 0 // stack pointer let m = [] // memory initialize: sp = 0 invoke: m[sp] = m[sp - 1] // position in stack m[sp + 1] = input[m[...
  • 2,467
0 votes
0 answers
65 views

Streaming Promises in NodeJS

Imagine a typical HTTP service that does async db queries. If HTTP requests are received more quickly than the db can complete queries (such as because the db disk or network is slow), the Promises ...
  • 206
1 vote
0 answers
36 views

Using TPL to manage hundreds of contexts

Overview of application: A chat bot that connects via IRC, using TPL. As messages come from the socket (from .ReadAsync()), they are ultimately parsed and passed to a handler within the bot itself (...
  • 89
15 votes
3 answers
25k views

How to justify using await instead of .Result() or .Wait() in .NET Core?

Since the inception of .NET Core, console apps, function apps, ASP.NET etc. are not using synchronization context in async methods (so they're synchronizing straight to Thread Pool). This means that ...
  • 259
3 votes
1 answer
431 views

Isn't asynchronicity an implementation detail?

Consider a simple — and fake — interface: interface ISuperGetter { Super Get(); } An implementation would get some Super from RAM. One would store what it needs on disk. Yet another could fetch the ...
user avatar
2 votes
2 answers
142 views

Name of locking approach

I've seen this approach several times, both in async and multithreaded code. A counter is used to track asynchronous behavior or thread behavior - whenever a new action is started, the counter is ...
5 votes
3 answers
3k views

Why is it necessary for every new api to be async?

I'm expressing my frustration here somewhat, but why do many new libraries only have asynchronous APIs? For example I'm creating a small utility to fetch a web page and parse some data from it. ...
  • 270
6 votes
2 answers
601 views

balance between UI responsiveness and avoiding race conditions

To keep scope small I will talk about UI race conditions initiated by the same user in the same app sessions. The question is general and not specific to mobile, web or desktop UI. The issue Modern ...
  • 585
0 votes
1 answer
146 views

I'm writing an application that needs to log error/ exception messages but should still continue execution if it not a fatal error

I'm writing an application that needs to log error/ exception messages but should still continue execution if the error is not a fatal error. I was thinking of making a method that returns a Task but ...
  • 163
12 votes
1 answer
6k views

Is the C# async/Task construct equivalent to Java's Executor/Future?

I'm a long time Java developer, but with so little traffic on SE, I don't limit my viewing to any single tags. I've noticed that C# questions with async/await come up a lot, and as far as I've read it'...
  • 1,930
0 votes
1 answer
2k views

Async - why have an async for a login?

C# web scaffolding has an async call for every member. Why? For example: Async for a login call makes no sense. User has to wait for validation. What else would the app do until the application ...
2 votes
1 answer
285 views

Must we define methods and async when we don't know whether the implementation is synchronous or asynchronous?

I think I know the answer to this, but it's particular enough that I don't want to go telling other people stuff until I'm 100% certain. Suppose I have a class with some dependency: public interface ...
0 votes
0 answers
696 views

Using signalR for streaming alongside a microservice architecture

I have a cluster of micro services with an exposed search API serving a client app. I want to "stream" in real time the aggregated results of a complex search. The search will be kicked of by the ...
-1 votes
1 answer
137 views

Does avoiding Promises and Async leads to clean code?

While applying for a job interview I found this line in requirements. Experience with clean code writing practices like avoiding callback hell like promises, async Does this line make any sense ? ...
-4 votes
2 answers
230 views

Should I use async for networking application/library [closed]

I decided to make an application, networking application, don't know what it has to do yet but mainly it should be a cross-client kind of like framework networking application/library. Since ...
0 votes
3 answers
314 views

If callback function, promises and async/await patterns all can be used to achieve asynchronous behaviour then why don't we stick to one?

As far as I have seen then async/await, callbacks and promises are and can only be used to achieve asynchronous programming. Correct? So my questions are: 1) Is it correct that the former three is ...
2 votes
1 answer
2k views

Will (await method).ToList() block the thread? [closed]

I'm using a lot of async Task<IEnumerable<T>> methods and I want to stop doing this everytime to get the items as a list: var items = await AsyncMethodThatReturnsEnumerable(); var ...
1 vote
1 answer
479 views

What does await do in JavaScript?

Sorry for this naive question. Reading some existing JavaScript I see a function with code like ... async function _load() { await ensureDir(path); return await readFile(filename); } ... why ...
  • 3,387