Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Learning Cython Programming (Second Edition)

You're reading from   Learning Cython Programming (Second Edition) Expand your existing legacy applications in C using Python

Arrow left icon
Product type Paperback
Published in Feb 2016
Publisher Packt
ISBN-13 9781783551675
Length 110 pages
Edition 2nd Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Philip Herron Philip Herron
Author Profile Icon Philip Herron
Philip Herron
Arrow right icon
View More author details
Toc

Cython keywords


Okay, so how does this affect you and, more importantly, your code? It is important to know what way your code should and/or will execute in a concurrent manner. Without an understanding of this, your debugging will be confusing. There are times when the GIL gets in the way and can cause issues by blocking the execution of your C code from Python or vice versa. Cython allows us to control the GIL with the gil and nogil keywords, which is much simpler by wrapping this state for us:

Cython

Python

With gil

PyGILState_Ensure ()

With nogil

PyGILState_Release (state)

I find that it's easier to think of multithreading in Python in terms of blocking and nonblocking the execution. In the next example, we will examine the steps needed to embed a web server into a toy messaging server.

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 $19.99/month. Cancel anytime
Banner background image