|
|
|
|
|
by emccue
1029 days ago
|
|
A better example would be var remoteResultA = callRemoteA(client);
var remoteResultB = callRemoteB(f(remoteResultA));
Where handling a request means you have to make two http calls and those two calls have some order dependence. I.E. the result of one is used to construct the call to get the other.What virtual threads give is the ability to write the code like I did above and still get ideal performance, as opposed to. callRemoteA(client)
.then(remoteResultA -> callRemoteB(f(remoteResultA)))
.then(... your world lives here now ...);
Virtual threads are, from a language semantics point of view, the same as regular threads. Virtual threads map maybe 10000 "logical threads" to a handful (maybe 8 or so) actual operating system threads.The big difference is that for each regular Thread you have exactly one backing Operating System thread. |
|