Boost Insurance interview question

Explain these Python concepts: GIL, threading, multiprocessing, decorators, generators