{"id":4508,"date":"2023-08-01T11:35:37","date_gmt":"2023-08-01T11:35:37","guid":{"rendered":"https:\/\/picockpit.com\/raspberry-pi\/?p=4508"},"modified":"2023-08-01T11:35:39","modified_gmt":"2023-08-01T11:35:39","slug":"python-dispatch-making-the-gil-optional","status":"publish","type":"post","link":"https:\/\/picockpit.com\/raspberry-pi\/pt\/python-dispatch-making-the-gil-optional\/","title":{"rendered":"Despacho Python: Tornando o GIL opcional"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch-1024x576.png\" alt=\"\" class=\"wp-image-4511\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch-1024x576.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch-300x169.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch-768x432.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch-18x10.png 18w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">O Conselho de Dire\u00e7\u00e3o fez<a href=\"https:\/\/discuss.python.org\/t\/a-steering-council-notice-about-pep-703-making-the-global-interpreter-lock-optional-in-cpython\/30474\"> um grande an\u00fancio sobre o futuro do Python<\/a>. Nomeadamente, eles decidiram tornar o Global Interpreter Lock (GIL) opcional no CPython e eventualmente remover o GIL por completo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta \u00e9 uma decis\u00e3o enorme que ir\u00e1 alterar fundamentalmente o Python.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por isso, neste post, vou falar sobre o que \u00e9 a GIL, as suas vantagens e desvantagens e o que o futuro nos reserva.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O GIL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vou analisar o Global Interpreter Lock uma palavra de cada vez, em ordem inversa, come\u00e7ando por <em>fechadura<\/em> e depois <em>int\u00e9rprete<\/em> e finalmente, <em>global<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um bloqueio \u00e9 um mecanismo que permite que apenas uma thread seja executada de cada vez. Assim, quando uma thread obt\u00e9m o bloqueio, ela ganha acesso exclusivo ao interpretador Python.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um <a href=\"https:\/\/picockpit.com\/raspberry-pi\/whats-the-difference-between-micropython-circuitpython-cpython-anyway\/\">interpretador \u00e9 o programa para executar o c\u00f3digo Python<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A palavra \"global\" aqui se refere ao escopo do bloqueio do interpretador. Como o bloqueio do interpretador \u00e9 global, ele garante que apenas uma thread executa o c\u00f3digo Python de cada vez dentro de um \u00fanico processo.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/image-1.png\" alt=\"\" class=\"wp-image-4520\" width=\"451\" height=\"345\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/image-1.png 645w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/image-1-300x229.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/image-1-16x12.png 16w\" sizes=\"auto, (max-width: 451px) 100vw, 451px\" \/><figcaption class=\"wp-element-caption\">Cr\u00e9dito: <a href=\"https:\/\/statusneo.com\/concurrency-in-python-threading-processes-and-asyncio\/\">EstadoNeo<\/a>.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Portanto, o GIL \u00e9 um mecanismo que impede que v\u00e1rias threads sejam executadas ao mesmo tempo atrav\u00e9s do interpretador. Mas por que \u00e9 que quer\u00edamos isso?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vantagens<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A principal vantagem do GIL \u00e9 que torna as coisas mais f\u00e1ceis. Gerir a mem\u00f3ria \u00e9 mais f\u00e1cil, gerir as threads \u00e9 mais f\u00e1cil e criar m\u00f3dulos \u00e9 mais f\u00e1cil.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sem o GIL, voc\u00ea pode rapidamente ter problemas com multithreading. Se voc\u00ea n\u00e3o colocar os bloqueios locais apropriados para cada thread, voc\u00ea pode acabar travando o Python ou corrompendo alguma outra mem\u00f3ria no computador.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E se n\u00e3o estiver a fazer multithreading, ent\u00e3o o GIL \u00e9 super \u00fatil, porque mant\u00e9m tudo a funcionar sem problemas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Assim, o GIL mant\u00e9m as coisas simples e seguras.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ent\u00e3o, porque \u00e9 que n\u00e3o havia de querer isso?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Desvantagens<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A troca aqui \u00e9 a facilidade pela rapidez.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ao impedir o multithreading, o GIL torna o CPython mais lento e com menos desempenho do que algumas outras linguagens (como C++, Go e Rust).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Especialmente com a explos\u00e3o da IA nos \u00faltimos meses, o GIL est\u00e1 a tornar-se cada vez mais um problema na execu\u00e7\u00e3o de programas de forma r\u00e1pida e eficiente.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" hcb-fetch-image-from=\"https:\/\/www.youtube.com\/watch?v=9OOJcTp8dqE\" title=\"Palestra: Python Multithreaded sem o GIL - apresentada por Sam Gross\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/9OOJcTp8dqE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">O futuro da GIL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Assim, agora que o Conselho de Dire\u00e7\u00e3o anunciou que aceitou a <a href=\"https:\/\/peps.python.org\/pep-0703\/#alternatives\">Python Enhancement Proposal (PEP) 703, escrito por Sam Gross<\/a>Estamos a entrar em \u00e1guas desconhecidas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In\u00fameras extens\u00f5es foram escritas com o GIL em mente. Todos os padr\u00f5es estabelecidos com o CPython dependem do GIL. Todos constroem em CPython com a GIL no centro de seus programas (intencionalmente ou n\u00e3o).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Assim, o Conselho de Dire\u00e7\u00e3o est\u00e1, numa primeira fase, a tornar o GIL facultativo, mas, a longo prazo, tenciona suprimi-lo completamente. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tal como foi dito no post, \"N\u00e3o queremos criar uma divis\u00e3o permanente entre compila\u00e7\u00f5es com-GIL e sem-GIL (e m\u00f3dulos de extens\u00e3o)\".<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Isto vai transformar absolutamente a Python e, talvez o mais interessante, de formas que ainda ningu\u00e9m conhece. Brett Cannon, <a href=\"https:\/\/discuss.python.org\/t\/poll-feedback-to-the-sc-on-making-cpython-free-threaded-and-pep-703\/28540\">numa sondagem \u00e0 equipa de programadores principais<\/a>escreveu que \"fazer Python free-threaded... tem um monte de inc\u00f3gnitas. N\u00f3s n\u00e3o sabemos quanto c\u00f3digo implicitamente depende do GIL, ou n\u00e3o \u00e9 seguro para threads de maneiras sutis que s\u00e3o mascaradas pelo GIL.\"<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O GIL est\u00e1 a desaparecer - o que \u00e9 que vai levar com ele?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E, mais importante ainda, como ser\u00e1 o novo CPython?<\/p>\n<div class=\"shariff shariff-align-center shariff-widget-align-left shariff-buttonstretch\"><ul class=\"shariff-buttons theme-white orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fpt%2Fpython-dispatch-making-the-gil-optional%2F&text=Python%20Dispatch%3A%20Making%20the%20GIL%20Optional\" title=\"Compartilhar no X\" aria-label=\"Compartilhar no X\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#000\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#000\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#000\">partilhar<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fpt%2Fpython-dispatch-making-the-gil-optional%2F\" title=\"Partilhar no Facebook\" aria-label=\"Partilhar no Facebook\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#3b5998\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#3b5998\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#3b5998\">partilhar<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button telegram shariff-nocustomcolor\" style=\"background-color:#4084A6\"><a href=\"https:\/\/telegram.me\/share\/url?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fpt%2Fpython-dispatch-making-the-gil-optional%2F&text=Python%20Dispatch%3A%20Making%20the%20GIL%20Optional\" title=\"Compartilhar no Telegram\" aria-label=\"Compartilhar no Telegram\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0088cc; color:#0088cc\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#0088cc\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\"><path fill=\"#0088cc\" d=\"M30.8 6.5l-4.5 21.4c-.3 1.5-1.2 1.9-2.5 1.2L16.9 24l-3.3 3.2c-.4.4-.7.7-1.4.7l.5-7L25.5 9.2c.6-.5-.1-.8-.9-.3l-15.8 10L2 16.7c-1.5-.5-1.5-1.5.3-2.2L28.9 4.3c1.3-.5 2.3.3 1.9 2.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#0088cc\">partilhar<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button reddit shariff-nocustomcolor\" style=\"background-color:#ff5700\"><a href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fpt%2Fpython-dispatch-making-the-gil-optional%2F\" title=\"Compartilhar no Reddit\" aria-label=\"Compartilhar no Reddit\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#ff4500; color:#ff4500\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#ff4500\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><path fill=\"#ff4500\" d=\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#ff4500\">partilhar<\/span>&nbsp;<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>O Conselho Diretor fez um grande an\u00fancio sobre o futuro do Python. Nomeadamente, eles decidiram tornar o Global Interpreter Lock (GIL) opcional no CPython e eventualmente remover o GIL por completo. Essa \u00e9 uma grande decis\u00e3o que vai alterar fundamentalmente o Python. Portanto, neste post, eu vou falar sobre o que \u00e9 o GIL, seu...<\/p>","protected":false},"author":2,"featured_media":4511,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1193,1721],"tags":[1726,1727,477,1731,1732,996,1729,1722,14,1723,1728,1725,476,1730,1724],"class_list":["post-4508","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","category-python-dispatch","tag-async","tag-asynchronous-programming","tag-circuitpython","tag-concurrency","tag-concurrent-programming","tag-cpython","tag-gil","tag-global-interpreter-lock","tag-micropython","tag-multithreading","tag-parallel-programming","tag-parallelism","tag-python","tag-python-dispatch","tag-single-threading"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Python Dispatch: Making the GIL Optional | PiCockpit<\/title>\n<meta name=\"description\" content=\"The Steering Council recently made a huge announcement regarding Python.They have decided to make the Global Interpreter Lock optional.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/picockpit.com\/raspberry-pi\/pt\/python-dispatch-making-the-gil-optional\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Dispatch: Making the GIL Optional | PiCockpit\" \/>\n<meta property=\"og:description\" content=\"The Steering Council recently made a huge announcement regarding Python.They have decided to make the Global Interpreter Lock optional.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/picockpit.com\/raspberry-pi\/pt\/python-dispatch-making-the-gil-optional\/\" \/>\n<meta property=\"og:site_name\" content=\"PiCockpit\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pi3gshop\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-01T11:35:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-01T11:35:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"raspi berry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pi3g\" \/>\n<meta name=\"twitter:site\" content=\"@pi3g\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"raspi berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/\"},\"author\":{\"name\":\"raspi berry\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\"},\"headline\":\"Python Dispatch: Making the GIL Optional\",\"datePublished\":\"2023-08-01T11:35:37+00:00\",\"dateModified\":\"2023-08-01T11:35:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/\"},\"wordCount\":557,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Python-Dispatch.png\",\"keywords\":[\"async\",\"asynchronous programming\",\"circuitpython\",\"concurrency\",\"concurrent programming\",\"cpython\",\"GIL\",\"global interpreter lock\",\"microPython\",\"multithreading\",\"parallel programming\",\"parallelism\",\"python\",\"Python Dispatch\",\"single threading\"],\"articleSection\":[\"Python\",\"Python Dispatch\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/\",\"name\":\"Python Dispatch: Making the GIL Optional | PiCockpit\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Python-Dispatch.png\",\"datePublished\":\"2023-08-01T11:35:37+00:00\",\"dateModified\":\"2023-08-01T11:35:39+00:00\",\"description\":\"The Steering Council recently made a huge announcement regarding Python.They have decided to make the Global Interpreter Lock optional.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/#primaryimage\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Python-Dispatch.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/Python-Dispatch.png\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/fr\\\/python-dispatch-faire-du-gil-optionnel\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/category\\\/python\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Python Dispatch: Making the GIL Optional\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"name\":\"PiCockpit\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\",\"name\":\"PiCockpit.com\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"width\":1165,\"height\":283,\"caption\":\"PiCockpit.com\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pi3gshop\",\"https:\\\/\\\/x.com\\\/pi3g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\",\"name\":\"raspi berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"caption\":\"raspi berry\"},\"description\":\"I'm here to help you with all your Raspberry Pi related questions &amp; love to share about new project ideas for the Raspberry Pi, and give quick tips. Of course I'll also help you with PiCockpit and how to make your Raspberry Pi even easier to use with this raspberry pi monitoring solution :-)\",\"sameAs\":[\"https:\\\/\\\/picockpit.com\"],\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/pt\\\/author\\\/raspi-berry\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Despacho Python: Tornando o GIL opcional | PiCockpit","description":"O Conselho Diretivo fez recentemente um grande an\u00fancio relativamente ao Python, tendo decidido tornar o Global Interpreter Lock opcional.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/picockpit.com\/raspberry-pi\/pt\/python-dispatch-making-the-gil-optional\/","og_locale":"pt_PT","og_type":"article","og_title":"Python Dispatch: Making the GIL Optional | PiCockpit","og_description":"The Steering Council recently made a huge announcement regarding Python.They have decided to make the Global Interpreter Lock optional.","og_url":"https:\/\/picockpit.com\/raspberry-pi\/pt\/python-dispatch-making-the-gil-optional\/","og_site_name":"PiCockpit","article_publisher":"https:\/\/www.facebook.com\/pi3gshop","article_published_time":"2023-08-01T11:35:37+00:00","article_modified_time":"2023-08-01T11:35:39+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch.png","type":"image\/png"}],"author":"raspi berry","twitter_card":"summary_large_image","twitter_creator":"@pi3g","twitter_site":"@pi3g","twitter_misc":{"Escrito por":"raspi berry","Tempo estimado de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/#article","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/"},"author":{"name":"raspi berry","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee"},"headline":"Python Dispatch: Making the GIL Optional","datePublished":"2023-08-01T11:35:37+00:00","dateModified":"2023-08-01T11:35:39+00:00","mainEntityOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/"},"wordCount":557,"commentCount":0,"publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch.png","keywords":["async","asynchronous programming","circuitpython","concurrency","concurrent programming","cpython","GIL","global interpreter lock","microPython","multithreading","parallel programming","parallelism","python","Python Dispatch","single threading"],"articleSection":["Python","Python Dispatch"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/","url":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/","name":"Despacho Python: Tornando o GIL opcional | PiCockpit","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/#primaryimage"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch.png","datePublished":"2023-08-01T11:35:37+00:00","dateModified":"2023-08-01T11:35:39+00:00","description":"O Conselho Diretivo fez recentemente um grande an\u00fancio relativamente ao Python, tendo decidido tornar o Global Interpreter Lock opcional.","breadcrumb":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/#primaryimage","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/08\/Python-Dispatch.png","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/picockpit.com\/raspberry-pi\/fr\/python-dispatch-faire-du-gil-optionnel\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/picockpit.com\/raspberry-pi\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/picockpit.com\/raspberry-pi\/category\/python\/"},{"@type":"ListItem","position":3,"name":"Python Dispatch: Making the GIL Optional"}]},{"@type":"WebSite","@id":"https:\/\/picockpit.com\/raspberry-pi\/#website","url":"https:\/\/picockpit.com\/raspberry-pi\/","name":"PiCockpit","description":"","publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/picockpit.com\/raspberry-pi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization","name":"PiCockpit.com","url":"https:\/\/picockpit.com\/raspberry-pi\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","width":1165,"height":283,"caption":"PiCockpit.com"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pi3gshop","https:\/\/x.com\/pi3g"]},{"@type":"Person","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee","name":"baga de framboesa","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","caption":"raspi berry"},"description":"Estou aqui para ajud\u00e1-lo com todas as suas perguntas relacionadas com o Raspberry Pi e adoro compartilhar sobre novas id\u00e9ias de projetos para o Raspberry Pi, e dar dicas r\u00e1pidas. Claro que tamb\u00e9m o ajudarei com o PiCockpit e como tornar o seu Raspberry Pi ainda mais f\u00e1cil de usar com esta solu\u00e7\u00e3o de monitoriza\u00e7\u00e3o do raspberry Pi :-)","sameAs":["https:\/\/picockpit.com"],"url":"https:\/\/picockpit.com\/raspberry-pi\/pt\/author\/raspi-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts\/4508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/comments?post=4508"}],"version-history":[{"count":11,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts\/4508\/revisions"}],"predecessor-version":[{"id":4521,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts\/4508\/revisions\/4521"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/media\/4511"}],"wp:attachment":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/media?parent=4508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/categories?post=4508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/tags?post=4508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}