Nowadays quantum computing becomes more and more popular. Potentially, quantum computers can solve the problems faster than classical computer - quantum encryption, combinatorics problems, different optimizations, drug development. Scientists all over the world try to achieve quantum supremacy.

There are more than 70 active simulators of quantum programming using different programming languages and techniques. A variety of approaches examined to simulate quantum computations on classical computers. The main types of simulation techniques are full amplitude-vector evolution, the Feynman paths approach, linear algebra open system simulation, decision diagrams, and tensor network contractions.

In this master thesis we revisit the basics of quantum computation with one more approach of qubit simulation. It uses 2 concurrent threads to simulate each qubit, achieving quantum superposition with superposition of threads. Such approach implements the probabilistic nature of quantum computing. Circuits with 1 and 2 qubits were considered, Hadamard, phase, X and CNOT gates were applied. So far, we are not aware of any similar work.

The main question answered in this work is: is it possible to model quantum computing using concurrency? For a single qubit the simple models it is clear. For two qubit a model requires more fine tuned constructions. The most complicated models contains two qubits in superposition with non equal probability distribution. That construct required changes in construction of each thread and accurate selection of time parameters.