Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Geospatial Development By Example with Python

You're reading from   Geospatial Development By Example with Python Build your first interactive map and build location-aware applications using cutting-edge examples in Python

Arrow left icon
Product type Paperback
Published in Jan 2016
Publisher
ISBN-13 9781785282355
Length 340 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Pablo Carreira Pablo Carreira
Author Profile Icon Pablo Carreira
Pablo Carreira
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Geospatial Development By Example with Python
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. Preparing the Work Environment FREE CHAPTER 2. The Geocaching App 3. Combining Multiple Data Sources 4. Improving the App Search Capabilities 5. Making Maps 6. Working with Remote Sensing Images 7. Extract Information from Raster Data 8. Data Miner App 9. Processing Big Images 10. Parallel Processing Index

Multiprocessing basics


The implementation of Python that we are using, CPython, has a mechanism called global interpreter lock (GIL). GIL's purpose is to make CPython thread-safe; it works by preventing the code from being executed by more than one thread at once.

With that limitation, multiprocessing in Python works by forking the running program (for example, making a copy of the state of the program) and sending it to another computer core. As a consequence, the new process comes with an overhead.

Let's try a simple code:

  1. First, make a copy of the previous chapter folder in your geopy project and rename it to Chapter10.

  2. Clean the Chapter10/output folder (delete all files in it).

  3. Expand the Chapter10/experiments folder, right-click on it, and create a new Python file. Name it parallel.py.

  4. Add this code to this new file:

    # coding=utf-8
    
    from datetime import datetime
    import multiprocessing as mp
    
    def an_expensive_function(text):
        for i in range(500):
            out = "{} {} {}"
            out.format...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at £13.99/month. Cancel anytime
Visually different images