【Python面試真題】- 在Python中如何實(shí)現(xiàn)多線(xiàn)程?
【Python面試真題】- 在Python中如何實(shí)現(xiàn)多線(xiàn)程?
答:一個(gè)線(xiàn)程就是一個(gè)輕量級(jí)進(jìn)程,多線(xiàn)程能讓我們一次執(zhí)行多個(gè)線(xiàn)程。我們都知道,Python是多線(xiàn)程語(yǔ)言,其內(nèi)置有多線(xiàn)程工具包。
Python中的GIL(全局解釋器鎖)確保一次執(zhí)行單個(gè)線(xiàn)程。一個(gè)線(xiàn)程保存GIL并在將其傳遞給下個(gè)線(xiàn)程之前執(zhí)行一些操作,這會(huì)讓我們產(chǎn)生并行運(yùn)行的錯(cuò)覺(jué)。但實(shí)際上,只是線(xiàn)程在CPU上輪流運(yùn)行。當(dāng)然,所有的傳遞會(huì)增加程序執(zhí)行的內(nèi)存壓力。