threading is available or not in all MicroPython implementations??
It doesn’t make sense because of the GIL.
So, instead, use uasyncio — asynchronous I/O scheduler — MicroPython v1.20.0 documentation
This is the way to do it. Basically, all tasks that would block instead don’t and just do cooperative multi-tasking.
Regarding the camera, as long are you are in triple buffer mode sensor.snapshot() never blocks.