Open ivogeorg opened 1 year ago
Standard Python is only pseudo-multithreaded. It has the global interpreter lock (GIL). Essentially, there is no preemption and an executing thread is waited on until completion. True multithreaded behavior can be achieved with the package multiprocessing.
Mono-directional A* is too slow even in the 2D grid for paths longer than about 150 steps. Implement optimal bidirectional heuristic search, starting simultaneously forward from start and backward from goal. This may need to be multithreaded, with all the additional complications and workspace environment setup.