မျက်မှောက်ခေတ် web ဖွံ့ဖြိုးတိုးတက်မှုတွင်ပုံချုံ့ခြင်းနှင့်ပြုပြင်ခြင်းသည်စာမျက်နှာ Loading Speed နှင့် User အတွေ့အကြုံတိုးတက်စေရန်အတွက်အရေးကြီးသောလင့်ခ်များဖြစ်သည်။ Image processing သည်များသောအားဖြင့် IO စစ်ဆင်ရေးများနှင့်တွက်ချက်မှုများစွာပါ 0 င်သည်။
ပြတ်တောင်းပြတ်တောင်းပြတ်တောင်းပြတ်တောင်းပြတ်တောင်းပြတ်တောင်းပြတ်တောင်းပြတ်သားသောစစ်ဆေးမှုများကိုချမှတ်သောဖြစ်ရပ်မှန်မောင်းနှင်သည့်မော်ဒယ်လ်ကိုကျင့်သုံးသည်။ Synchronous Blocking နှင့်နှိုင်းယှဉ်လျှင် asynchronous corouttines များနှင့်နှိုင်းယှဉ်လျှင်ပုံရိပ်ထုတ်ယူခြင်း၏တစ်ပြိုင်နက်တည်းတုံ့ပြန်မှုမြန်နှုန်းကိုထိထိရောက်ရောက်တိုးတက်စေနိုင်သည်။
ဤဥပမာသည် Python ကို အခြေခံ. asyncio ကို အသုံးပြု. asynchronous coroutines များကိုအကောင်အထည်ဖော်ရန်နှင့်ရုပ်ပုံပြုပြင်ခြင်းအတွက်ခေါင်းအုံးကိုအသုံးပြုသည်။ installation မှီခို:
Pip Asyncio ကို Install လုပ်ပါ Pip install လုပ်ပါ
Pil တင်သွင်းပုံရိပ်ကနေ Async def compress_image (file_path, outpath_path): # Open image file image = image.open (file_path) # Compression Image အဖြစ်သိမ်းဆည်းပါ, compression parametersions image.save (output_path, အရည်အသွေး = 80, optimization = opt true
asyncio တင်သွင်းပါ Async def process_images (file_paths): အလုပ်များ = [] file_paths အတွက် file_path များအတွက်: # asynchronous task task = asyncio.createe_tasc ကိုဖန်တီးပါ (compress_image (file_path, "output /" + file_path) Tasks.append (Task) # တစ်ပြိုင်နက်တည်းအလုပ်များအားလုံးကို asyncio.gather (* အလုပ်များ)
__name__ == "__main__" ဆိုပါက - File_paths = ["image1.jpg", "image2.jpg", "image3.jpg"] loop = asyncio.get_event_loop () Loop.run_until_complete (process_images (file_paths)) loop.close ()
Python ၏ Asyncio နှင့်ခေါင်းအုံးစာကြည့်တိုက်များနှင့်ပေါင်းစပ်ခြင်းအားဖြင့်ရှုန ချ. Coroutine Development မှတစ်ဆင့်ဓာတ်ပုံချုံ့ခြင်းနှင့်အပြောင်းအလဲအတွက်ထိရောက်မှုကိုသိသိသာသာတိုးတက်လာနိုင်သည်။ Asynchronous Firectrent processing သည် IO သည်စောင့်ဆိုင်းနေစဉ်တွင်အစီအစဉ်ကိုပိတ်ဆို့ခြင်းမပြုရန်ခွင့်ပြုသည်။ image processing ကိုပိုမိုကောင်းမွန်စေရန်ပြတ်တောင်းပြတ်တောင်း coroutine နည်းပညာကိုနားလည်သဘောပေါက်ရန်နှင့်ကျင့်သုံးရန်ဤဥပမာသည်သင့်အတွက်အထောက်အကူဖြစ်လိမ့်မည်ဟုမျှော်လင့်ပါသည်။
မှတ်ချက် - အထက်ဖော်ပြပါကုဒ်သည်အခြေခံဆန္ဒပြမှုတစ်ခုဖြစ်သည်။