Program draws fractal (the boundary of the Mandelbrot set) step by step with multi-threading. There are two modes: with executor usage and classical multi-threading. Global interpreter lock (GIL) prevents multiple threads from executing Python bytecodes at once. This mechanism prevents from race condition and ensures thread safety. In this project GIL was disabled in order to enable running multiple threads. To make it possible numba (JIT complier) was used.
To get a local copy and run this program, follow these steps.
Python 3.9 should be already installed on your computer.
- Clone the repo:
git clone https://github.com/Timu5/pwio.git
- Install dependencies:
pip install numba opencv-python
- Run program:
python3 main.py
Distributed under the MIT License.