এটি একটি মূ question় প্রশ্ন হতে পারে তবে পাইথন সম্পর্কে আমার কিছু অনুমান পরীক্ষা করে দেখছি এবং আমি থ্রডে ডাকার সময় নিম্নলিখিত কোড স্নিপেটটি কেন বেরিয়ে আসবে না তা ভেবে বিভ্রান্ত হয়েছি, তবে মূল থ্রেডে ডাকা হলে বেরিয়ে আসবে।
import sys, time
from threading import Thread
def testexit():
time.sleep(5)
sys.exit()
print "post thread exit"
t = Thread(target = testexit)
t.start()
t.join()
print "pre main exit, post thread exit"
sys.exit()
print "post main exit"
Sys.exit () এর জন্য দস্তাবেজগুলি জানিয়েছে যে কলটি পাইথন থেকে প্রস্থান করা উচিত। আমি এই প্রোগ্রামটির আউটপুট থেকে দেখতে পাচ্ছি যে "পোস্ট থ্রেড প্রস্থান" কখনই মুদ্রিত হয় না, তবে মূল থ্রেড থ্রেড কলগুলি প্রস্থান করার পরেও চলতে থাকে।
প্রতিটি থ্রেডের জন্য দোভাষী আলাদা আলাদা উদাহরণ তৈরি করা হচ্ছে, এবং প্রস্থান করার জন্য কলটি () কেবল সেই পৃথক দৃষ্টান্তটি থেকে বেরিয়ে আসছে? যদি তা হয় তবে থ্রেডিং বাস্তবায়ন কীভাবে ভাগ করা সংস্থানগুলিতে অ্যাক্সেস পরিচালনা করে? আমি যদি থ্রেড থেকে প্রোগ্রামটি বেরিয়ে যেতে চাই না (তবে আমি আসলে যা চাই তা নয়, তবে কেবল আমি বুঝতে পারি)?