برنامه نویسی غیر همزمان یا Asynchronous در پایتون (بخش اول)
یکی از امکانات بسیار جالبی که از پایتون 3.7 به بعد اضافه شده است، برنامه نویسی غیر همزمان است.
فرض کنید به عنوان یک معامله گر میخواهیم اطلاعات مربوط به 100 سهم را از tsetmc دریافت کنیم و برای اطمینان همان اطلاعات را از منبع دیگری مثلا fipiran دریافت و اطلاعات را با هم تطبیق دهیم.
در حالت عادی لازم است تا اطلاعات مربوطه از tsetmc دریافت شود (این عمل برای حجم زیاد داده ممکن چندین ثانیه طول بکشد و ممکن است به دلیل کندی اینترنت یا دلایل دیگر بیشتر هم شود) و بعد مجددا همین زمان برای fipiran هم طی می شود. به کمک برنامه نویسی غیرهمزمان می توان این کار را همزمان انجام داد و زمان انجام کارها را تا حد زیادی پایین آورد.
این موضوع وقتی برنامه شما تعداد زیادی request داشته باشد بیش از پیش حائز اهمیت می شود.
در پست بعد، یک مثال در خصوص برنامه نویسی غیر همزمان را با هم بررسی خواهیم کرد.
#برنامه_نویسی_غیر_همزمان
#پایتون_مالی
#Async_Features
#Asynchronous_programming
پایتون برای مالی در تلگرام
🆔 https://t.me/joinchat/AAAAAFGMkouqbsb86Vfzug
یکی از امکانات بسیار جالبی که از پایتون 3.7 به بعد اضافه شده است، برنامه نویسی غیر همزمان است.
فرض کنید به عنوان یک معامله گر میخواهیم اطلاعات مربوط به 100 سهم را از tsetmc دریافت کنیم و برای اطمینان همان اطلاعات را از منبع دیگری مثلا fipiran دریافت و اطلاعات را با هم تطبیق دهیم.
در حالت عادی لازم است تا اطلاعات مربوطه از tsetmc دریافت شود (این عمل برای حجم زیاد داده ممکن چندین ثانیه طول بکشد و ممکن است به دلیل کندی اینترنت یا دلایل دیگر بیشتر هم شود) و بعد مجددا همین زمان برای fipiran هم طی می شود. به کمک برنامه نویسی غیرهمزمان می توان این کار را همزمان انجام داد و زمان انجام کارها را تا حد زیادی پایین آورد.
این موضوع وقتی برنامه شما تعداد زیادی request داشته باشد بیش از پیش حائز اهمیت می شود.
در پست بعد، یک مثال در خصوص برنامه نویسی غیر همزمان را با هم بررسی خواهیم کرد.
#برنامه_نویسی_غیر_همزمان
#پایتون_مالی
#Async_Features
#Asynchronous_programming
پایتون برای مالی در تلگرام
🆔 https://t.me/joinchat/AAAAAFGMkouqbsb86Vfzug
❤12
برنامه نویسی غیر همزمان یا Asynchronous در پایتون (بخش دوم)
برای انجام دو کار به صورت غیر همزمان باید آنها را به عنوان تابع تعریف کنیم. برای تعریف یک تابع برای اجرای غیرهمزمان از کلمه کلیدی async در تعریف تابع استفاده می کنیم. کلمه await هم برای فراخوانی یک تابع غیر همزمان است.
خیلی بحث را پیچیده نکنیم و با یک مثال مفهوم را بررسی کنیم.
در مثال این پست یک تابع تعریف شده که عمل چاپ دو کمله one و two را انجام می دهد. چاپ این دو کلمه در یک تابع است و در حالت عادی، تابع زمانی که شروع می شود از ابتدا تا انتهای دستورات را انجام می دهد. اما می خواهیم تاخیری که در چاپ کلمه two وجود دارد روی عملکرد باقی تابع تاثیر نگذارد.
خروجی بسیار جالب است.
#برنامه_نویسی_غیر_همزمان
#پایتون_مالی
#Async_Features
#Asynchronous_programming
پایتون برای مالی در تلگرام
🆔 https://t.me/joinchat/AAAAAFGMkouqbsb86Vfzug
برای انجام دو کار به صورت غیر همزمان باید آنها را به عنوان تابع تعریف کنیم. برای تعریف یک تابع برای اجرای غیرهمزمان از کلمه کلیدی async در تعریف تابع استفاده می کنیم. کلمه await هم برای فراخوانی یک تابع غیر همزمان است.
خیلی بحث را پیچیده نکنیم و با یک مثال مفهوم را بررسی کنیم.
در مثال این پست یک تابع تعریف شده که عمل چاپ دو کمله one و two را انجام می دهد. چاپ این دو کلمه در یک تابع است و در حالت عادی، تابع زمانی که شروع می شود از ابتدا تا انتهای دستورات را انجام می دهد. اما می خواهیم تاخیری که در چاپ کلمه two وجود دارد روی عملکرد باقی تابع تاثیر نگذارد.
خروجی بسیار جالب است.
#برنامه_نویسی_غیر_همزمان
#پایتون_مالی
#Async_Features
#Asynchronous_programming
پایتون برای مالی در تلگرام
🆔 https://t.me/joinchat/AAAAAFGMkouqbsb86Vfzug
❤12