تمرینات ماژول threading – ایجاد thread

Please login to bookmark Close

تمرین ۱

روش‌های ایجاد thread با استفاده از کلاس threading.Thread را نام ببرید.

تمرین ۲

روش‌های ایجاد thread با استفاده از کلاس threading.Thread را با یکدیگر مقایسه کنید.

تمرین ۳

برنامه زیر در پارادایم sequential programming نوشته شده است. با استفاده از کلاس threading.Thread به دو روشی که در این بخش یاد گرفتید، این برنامه را بازنویسی کنید تا در پارادایم concurrent programming قرار بگیرد.

import time

def say_hi(name):
    time.sleep(1)
    print('hi', name)

say_hi('Ali')
say_hi('Hamid')
say_hi('Farzane')
say_hi('Reza')

تمرین ۴ – دانلودر

تکه کد زیر برنامه‌ای است که لیستی از آدرس فایل‌ها را می‌گیرد و دانلود می‌کند. این برنامه را بازنویسی کرده و سرعت دانلود فایل‌ها را با استفاده از threading.Thread افزایش دهید. این تمرین را به هر دو روشی که در این بخش یاد گرفتید بهینه کنید.

import requests
import os

# فهرست آدرس‌های فایل‌ها
file_urls = [f"https://dummyimage.com/{i}.png" for i in range(300, 400)]

# تابع برای دانلود هر فایل
def download_file(file_url, cookies, headers):
    file_name = os.path.basename(file_url)  # نام فایل از آخرین بخش آدرس استخراج می‌شود
    file_path = os.path.join("downloads", file_name)  # مسیر محلی برای ذخیره فایل‌ها
    print(f"Downloading {file_name}...")
    # دانلود فایل با استفاده از کتابخانه requests
    response = requests.get(file_url, cookies=cookies, headers=headers)
    with open(file_path, 'wb') as f:
        f.write(response.content)
    print(f"{file_name} downloaded successfully.")

# ایجاد پوشه downloads اگر وجود نداشته باشد
if not os.path.exists("downloads"):
    os.makedirs("downloads")

# شروع دانلود هر فایل به صورت متوالی
for file_url in file_urls:
    download_file(file_url, {}, {})

print("All files downloaded successfully.")
Please login to bookmark Close
نظرات

دیدگاهتان را بنویسید

فهرست مطالب

سرفصل دوره

تمرین

این قسمت تمرین ندارد!

پاسخ تمرین ها

هنوز برای تمرین‌های این قسمت پاسخی ثبت نشده است!

اشتراک گذاری

چرا بهتره از فیلترشکن استفاده کنید؟

من همه ویدئو ها و پادکست های کُدباز رو توی یوتیوب و ساندکلود و پلتفرم هایی آپلود می‌کنم که اغلب فیلتر هستند.

اغلب آموزش‌ها ویدئو و پادکست دارند. پس اگر می‌خواهید از محتوای سایت بیشترین استفاده رو ببرید نیاز به فیلتر شکن دارید.

توجه داشته باشید که برای خرید از فروشگاه بهتره فیلتر شکن رو خاموش کنید.

تنظیمات

انتخاب زبان
تغییر تم