This thesis evaluates the trade-offs between Java virtual threads and RxJava in the context of a real-time clearing system. As Java’s concurrency model evolves with the introduction of virtual threads in Project Loom, traditional reactive libraries like RxJava face renewed scrutiny. This thesis compares the two paradigms in terms of performance (latency, throughput, and resource usage) and code complexity, using measurable metrics such as cyclomatic and cognitive complexity. Through empirical testing in a production-grade system, results indicate that virtual threads outperform RxJava in scenarios involving high concurrency and blocking I/O, with significantly lower resource consumption. However, in hybrid use cases and optimised reactive contexts, RxJava maintains a performance edge. This study provides actionable insights into when and how to adopt virtual threads in enterprise Java applications and highlights areas for further research into structured concurrency and tooling support.