Asynchrony check: Assess the correctness of the following statement: "In an asynchronous system, the requesting system waits for a response in real time."
-
ADoes not apply (this is incorrect)
-
BApplies (this is correct)
-
CApplies only to synchronous RPC
-
DApplies only to blocking I/O with threads
-
EApplies only to message queues
Answer
Correct Answer: Does not apply (this is incorrect)
Explanation
Introduction / Context: Asynchronous communication decouples request and response in time. The caller does not block waiting for immediate completion; instead it proceeds and is notified later (callback, event, polling) or processes the response when available. This question checks that understanding by presenting the opposite claim.
Given Data / Assumptions:
- Synchronous = caller blocks until response or timeout.
- Asynchronous = caller does not block; response may arrive later.
- Mechanisms include message queues, event loops, promises/futures, and pub/sub.
Concept / Approach: If a system “waits for a response in real time,” it is behaving synchronously. Asynchrony enables better concurrency and resilience to variable latencies by removing strict coupling between request and response timing.
Step-by-Step Solution:
Read the claim and identify it as the definition of synchronous behavior.Recall asynchronous semantics: non-blocking, deferred handling.Conclude the statement is incorrect.Verification / Alternative check: Consider typical async patterns (email sending, job queues, event-driven UIs) where the initiator continues without waiting.
Why Other Options Are Wrong:
- “Applies” misdefines asynchrony.
- Conditionals tying to RPC, blocking I/O, or queues do not correct the core mismatch.
Common Pitfalls: Assuming asynchronous always means parallel (it can be single-threaded event-driven); conflating low latency with synchronous behavior.
Final Answer: Does not apply (this is incorrect)