<strong>Note</strong>: the _(term) <strong>_(Actor)</strong> is well established for this _(paradigm) of programming.

A *(term) for a program or system whose software is designed to execute as a relatively large number of _(thread)s, so as to interact more efficiently with the outside environment (the user, I/O devices, other software or system components).

Software which has to interact with external agencies typically uses some kind of _(handshaking) technique to synchronise its operation with them. If its must deal with many external agencies (rather than just one or two) concurrently, it is likely that this will cause a significant amount of waiting among some of the agencies (while the program interacts with others). This might be a cause of significant inefficiency.

By writing (or rewriting) a program to have many threads, it may be possible to interact with more (or all) of these agencies (more) concurrently, and reduce the inefficiency. Highly concurrent software takes this technique to its (reasonable) limit.

A simple example is a 'web browser' program. Many such programs are able to display a partially downloaded web page in parallel with downloading the page (or parts of it, such as pictures). This generally increases the efficiency of interaction with the user, because the user sees something earlier, and can therefore make decisions (such as going back or following a hyperlink) quicker.

Synonymous terms: highly parallel; highly multithreaded; highly multitasking.
