Concurrent computing is a form of program computing. In a system, at least two or more computations are running at the same time, and the results may occur at the same time. The programming languages and algorithms used to implement concurrent system are called concurrent computing.
并发计算（英语：Concurrent computing，或译为并发处理、共时计算），是一种程序计算的形式，在系统中，至少有两个以上的计算在同时运作，计算结果可能同时发生。用来实现并发系统（Concurrent system）的编程语言与各种算法，统称为并发计算。
Concurrent computing is a form of program computing. In the system, at least two or more calculations are running at the same time, and the results may occur at the same time. The programming languages and algorithms used to implement concurrent system are called concurrent computing.
An introduction to
Concurrent computing, simply speaking, is to partition a computing task into several small parts, let them be calculated at the same time, and then aggregate the calculation results to complete the task. It overlaps with parallel computing and distributed computing in concept, but it is often confused.
Concurrent computing is a feature of program operation, which can be regarded as a further abstraction of parallel operation. It includes time slice, which can be used to realize pseudo parallel operation. Therefore, in the actual physical operation, the computing process may be parallel or non parallel.
Parallel computing refers to the situation when the program of concurrent computing is running on the machine platform at the same time. Therefore, parallel computing is one of the forms of machine computing. Distributed computing is a special case of parallel computing, which uses computer network to synchronize.
There are many ways to implement concurrent programs. According to the support of programming language and operating system, it can be realized by processes or threads. It can run on a single processor, distribute different running steps in different time slices, and operate in a non parallel way in sequence; it can also be realized by parallel computing, and assign each process to a processor in the processor group, which can be implemented on a single-chip multiprocessor platform, or through a network linked distributed platform.
According to the support of hardware and operating system, concurrent computing can be completed in the same process, in the same process, by multithreading, by multiple processes, or even divided into several programs to run. It can be realized by single processor’s sequential computing, or by parallel computing or distributed computing.
However, running concurrent programs in a parallel way does not necessarily improve the running efficiency. Because the running result may be changed due to the platform characteristics, it also increases the difficulty in design.