Kwa nini ni multi-threading kufanya yangu Python code kwa kasi? Ninawezaje kurekebisha jambo hilo?
Python inazuia upatikanaji wa Tafsiri na Global Tafsiri Lock, inajulikana kama GIL, kwa mahitaji ya ndani thread-usalama. Kwa bahati mbaya, uamuzi huu kubuni vikwazo inaruhusu tu thread moja kutafsiri Python code kwa wakati, hata kwenye mashine na uwezo wa kuendesha nyuzi nyingi pamoja.  Kama unataka kuendesha Python code juu ya seti ya data, na data inaweza kuvunjwa katika sehemu huru (mchakato inayojulikana kama data partitioning), unaweza kutaka kuangalia katika maktaba multiprocessing katika Python.  Kama mfano, fikiria kazi foo ambayo inachukua hoja moja, arg1, na kusema alitaka kuendesha kazi foo juu ya idadi ya maadili, kusema, val1, val2, na val3.  def foo(arg1): # kufanya kitu  if __name__ == '__main__': foo (((val1) foo (((val2) foo (((val3)  Kuwa foo kutekeleza juu ya michakato mbalimbali pamoja, unaweza kutumia Multiprocessing Pool kuendesha michakato mfanyakazi mbalimbali pamoja:  kutoka multiprocessing kuagiza Pool  def foo(arg1): # kufanya kitu  if __name__ == '__main__': p = Pool ((() p.map(foo, [val1, val2, val3])  maktaba multiprocessing pia hutoa mbalimbali APIs nyingine kwa ajili ya programu sambamba. Je, ungependa kujua mengi zaidi?