In this chapter, we explored how to achieve concurrency in Python applications and how it can be useful. During this exploration, we uncovered the capabilities of the Python multithreading module and how it can be used to spawn multiple threads to divide workloads on. We then moved on to understand how to synchronize the actions of those threads and learned about various issues that may crop up in a multithreaded application, if not taken care of. The chapter then moved on to explore the limitations that are imposed by the presence of the global interpreter lock (GIL)in some Python implementations and how it affects multithreaded workloads. To explore possible ways to overcome the restrictions imposed by the GIL, we moved on to understand the use of Python's multiprocessing module and how it can help us to leverage the full potential of a multiprocessor...
United States
United Kingdom
India
Germany
France
Canada
Russia
Spain
Brazil
Australia
Argentina
Austria
Belgium
Bulgaria
Chile
Colombia
Cyprus
Czechia
Denmark
Ecuador
Egypt
Estonia
Finland
Greece
Hungary
Indonesia
Ireland
Italy
Japan
Latvia
Lithuania
Luxembourg
Malaysia
Malta
Mexico
Netherlands
New Zealand
Norway
Philippines
Poland
Portugal
Romania
Singapore
Slovakia
Slovenia
South Africa
South Korea
Sweden
Switzerland
Taiwan
Thailand
Turkey
Ukraine