✅چرا Multi-Threading در پایتون مثل جاوا کار نمیکنه؟
از لینکدین Majid BagherZadeh کامنت های پستش رو بخونید. لینک این پست
یکی از تفاوتهای جالب بین زبانهای برنامهنویسی اینه که "Thread" در هر زبان لزوماً به معنای واقعی خودش اجرا نمیشه!
🔹 در جاوا، Threadها واقعاً میتونن روی چندین هسته CPU اجرا بشن، مخصوصاً حالا که با Virtual Threads در جاوا ۲۱، اجرای همزمان بسیار سبکتر و مقیاسپذیرتر شده.
🔹 اما در پایتون، یک چیزی به نام GIL (Global Interpreter Lock) وجود داره که باعث میشه در هر لحظه فقط یک Thread بتونه اجرا بشه، حتی اگه چند Thread ساخته باشیم! به همین خاطر، در پایتون برای استفاده از تمام هستههای CPU معمولاً به جای Multi-Threading از Multi-Processing استفاده میکنن.
💡 نتیجه؟ اگر توی جاوا Thread بسازید، واقعاً روی چند هسته اجرا میشه. اما توی پایتون، ساختن چندین Thread لزوماً به معنی اجرای همزمان واقعی نیست! به جای اون، در پایتون پردازشهای موازی بیشتر با Multi-Processing انجام میشن تا بتونن از همهی قدرت CPU استفاده کنن.
🔥 این یکی از اون تفاوتهاییـه که اگر بهش دقت نکنید، ممکنه فکر کنید Multi-Threading همیشه همون معنی رو داره—ولی در عمل، بستگی داره که توی چه زبانی کار میکنید!
🚀 شما چقدر به این تفاوتها توجه کردید؟ تجربهای در این زمینه داشتید؟
✅چرا Multi-Threading در پایتون مثل جاوا کار نمیکنه؟
از لینکدین Majid BagherZadeh کامنت های پستش رو بخونید. لینک این پست
یکی از تفاوتهای جالب بین زبانهای برنامهنویسی اینه که "Thread" در هر زبان لزوماً به معنای واقعی خودش اجرا نمیشه!
🔹 در جاوا، Threadها واقعاً میتونن روی چندین هسته CPU اجرا بشن، مخصوصاً حالا که با Virtual Threads در جاوا ۲۱، اجرای همزمان بسیار سبکتر و مقیاسپذیرتر شده.
🔹 اما در پایتون، یک چیزی به نام GIL (Global Interpreter Lock) وجود داره که باعث میشه در هر لحظه فقط یک Thread بتونه اجرا بشه، حتی اگه چند Thread ساخته باشیم! به همین خاطر، در پایتون برای استفاده از تمام هستههای CPU معمولاً به جای Multi-Threading از Multi-Processing استفاده میکنن.
💡 نتیجه؟ اگر توی جاوا Thread بسازید، واقعاً روی چند هسته اجرا میشه. اما توی پایتون، ساختن چندین Thread لزوماً به معنی اجرای همزمان واقعی نیست! به جای اون، در پایتون پردازشهای موازی بیشتر با Multi-Processing انجام میشن تا بتونن از همهی قدرت CPU استفاده کنن.
🔥 این یکی از اون تفاوتهاییـه که اگر بهش دقت نکنید، ممکنه فکر کنید Multi-Threading همیشه همون معنی رو داره—ولی در عمل، بستگی داره که توی چه زبانی کار میکنید!
🚀 شما چقدر به این تفاوتها توجه کردید؟ تجربهای در این زمینه داشتید؟
Bitcoin is a decentralized digital currency that you can buy, sell and exchange directly, without an intermediary like a bank. Bitcoin’s creator, Satoshi Nakamoto, originally described the need for “an electronic payment system based on cryptographic proof instead of trust.” Each and every Bitcoin transaction that’s ever been made exists on a public ledger accessible to everyone, making transactions hard to reverse and difficult to fake. That’s by design: Core to their decentralized nature, Bitcoins aren’t backed by the government or any issuing institution, and there’s nothing to guarantee their value besides the proof baked in the heart of the system. “The reason why it’s worth money is simply because we, as people, decided it has value—same as gold,” says Anton Mozgovoy, co-founder & CEO of digital financial service company Holyheld.
Telegram announces Search Filters
With the help of the Search Filters option, users can now filter search results by type. They can do that by using the new tabs: Media, Links, Files and others. Searches can be done based on the particular time period like by typing in the date or even “Yesterday”. If users type in the name of a person, group, channel or bot, an extra filter will be applied to the searches.