 Multi-threading මගේ Python කේතය වේගවත් නොකරන්නේ ඇයි? මම කොහොමද ඒක හදන්නේ.
Python අභ්‍යන්තර නූල්-ආරක්ෂිත අවශ්‍යතා සඳහා GIL ලෙසින් හඳුන්වන Global Interpreter Lock එකක් සමඟින් පරිවර්තකයා වෙත ප්‍රවේශය සීමා කරයි. අවාසනාවකට මෙන්, මෙම සැලසුම් තීරණය සීමා කිරීම මඟින් නූල් කිහිපයක් එකට ධාවනය කිරීමේ හැකියාව ඇති යන්ත්‍රයක වුවද, වරකට පයිතන් කේතය අර්ථ නිරූපණය කිරීමට ඉඩ දෙන්නේ එක් නූලට පමණි. ඔබට දත්ත කට්ටලයක් මත පයිතන් කේතය ක්‍රියාත්මක කිරීමට අවශ්‍ය නම් සහ දත්ත ස්වාධීන කොටස් වලට බෙදිය හැකි නම් (දත්ත කොටස් කිරීම ලෙස හැඳින්වෙන ක්‍රියාවලියක්), ඔබට පයිතන් හි බහු සැකසුම් පුස්තකාලය දෙස බැලීමට අවශ්‍ය විය හැකිය. උදාහරණයක් ලෙස, එක් තර්කයක් ගන්නා foo ශ්‍රිතය සලකා බලන්න, arg1, සහ ඔබට foo ශ්‍රිතය val1, val2 සහ val3 යන අගයන් ගණනාවක් මත ධාවනය කිරීමට අවශ්‍ය බව පවසන්න. def foo(arg1): # __name__ == '__main__' නම් යමක් කරන්න: foo(val1) foo(val2) foo(val3) බහු ක්‍රියාවලි මත foo ක්‍රියාත්මක කිරීම සඳහා, ඔබට බහු සැකසුම් සංචිතය භාවිතා කර බහු සේවක ක්‍රියාවලි එකට ක්‍රියාත්මක කළ හැක. : බහු සැකසුම් ආයාතයෙන් Pool def foo(arg1): # __name__ == '__main__' නම් යමක් කරන්න: p = Pool() p.map(foo, [val1, val2, val3]) බහු සැකසුම් පුස්තකාලය සඳහා වෙනත් විවිධ API ද සපයයි. සමාන්තර වැඩසටහන්කරණය. ඔබ වැඩි විස්තර දැන ගැනීමට කැමතිද?