A word which means the opposite of "something that works in parallel"
If I want to describe two things happening at the same time, I can use the words parallel
or concurrently
. In some cases, simultaneously
would also work. More suggestions are available in the opposite question, already answered.
In technical writing, most of the time, it is sufficient to identify a process or thread that is parallel; a lack of parallelism is assumed in absence of specificity. But in some cases, the ordinary expectation for something is parallel, so the reverse requires denotation.
The word sequentially
implies some of the same things as concurrently
. But I'd really like a word that denotes the opposite and can be used in the same way as concurrently
.
Here's a few examples:
- "That procedure runs concurrently, so the system doesn't wait for it to finish before moving on."
"That procedure runs
???
, so the system waits for it to finish before moving on.""The math library does all of its processing concurrently, so matrix multiplication is faster on a multi-core machine."
"The math library does all of its processing
???
, so it doesn't matter how many cores you have.""The backup runs concurrently with the import, so the system doesn't experience any downtime."
- "The backup runs
???
with the import, so the system will be down until it completes."
The audience can assumed to be reasonably technical, though not necessarily domain experts in multithreaded programming. (Bonus points if the word is also useful as a part of function names while programming.) This question is very well straddling the line between here and StackOverflow, but its more about English than programming, I think.
So, does the word I want exist?
I don't think the word you want exists in common usage. I suspect that's because the image you're trying to conjure is (as you describe) not merely "synchronously" but "synchronously when asynchronously is assumed".
In other words, you're trying to capture the idea that, though the reader expects that this procedure can be executed in parallel, it in fact cannot, and blocks program execution until it is done. That "blockingness" is essential to what you want to communicate, and I suspect that because it is fairly new to expect things to be done in parallel, there's no good common word available.
The word used in the field of Computing and Information Science is serially.
In the analysis of algorithms, a fundamental principle is that the parallelization of an algorithm cannot reduce the required time below the serial component of the calculation, even with an infinity of available processors, memory, etc.