আমার অ্যাপ্লিকেশনটিতে, অনুরোধ করে একটি সাধারণ জিনিসের অবস্থা পরিবর্তন করা হয় এবং প্রতিক্রিয়া রাষ্ট্রের উপর নির্ভর করে।
class SomeObj():
def __init__(self, param):
self.param = param
def query(self):
self.param += 1
return self.param
global_obj = SomeObj(0)
@app.route('/')
def home():
flash(global_obj.query())
render_template('index.html')
যদি আমি এটি আমার ডেভলপমেন্ট সার্ভারে চালনা করি তবে আমি 1, 2, 3 এবং আরও পাওয়ার আশা করি। যদি একই সাথে 100 টি বিভিন্ন ক্লায়েন্টের কাছ থেকে অনুরোধ করা হয় তবে কিছু ভুল হতে পারে? প্রত্যাশিত ফলাফলটি হ'ল 100 টি পৃথক ক্লায়েন্ট প্রত্যেকে 1 থেকে 100 এর মধ্যে একটি অনন্য নম্বর দেখায় Or বা এর মতো কিছু ঘটবে:
- ক্লায়েন্ট 1 প্রশ্ন।
self.param
1 দ্বারা বর্ধিত হয়। - রিটার্নের স্টেটমেন্ট কার্যকর করার আগে থ্রেডটি ক্লায়েন্ট 2
self.param
এ স্যুইচ করে আবার বর্ধিত হয়। - থ্রেডটি ক্লায়েন্ট 1 এ ফিরে যায় এবং ক্লায়েন্টটি 2 নম্বরটি ফিরে আসে, বলুন।
- এখন থ্রেডটি ক্লায়েন্ট 2 এ চলে যায় এবং তাকে 3 নম্বর দেয়।
যেহেতু কেবলমাত্র দুটি ক্লায়েন্ট ছিলেন, তাই প্রত্যাশিত ফলাফলগুলি 2 এবং 3 নয়, 1 এবং 2 ছিল number
আমি আমার অ্যাপ্লিকেশনটি স্কেল করার সাথে সাথে এটি কি ঘটবে? গ্লোবাল ভেরিয়েবলের বিকল্পগুলির দিকে আমার কী নজর দেওয়া উচিত?