سی ++ میں ، دھاگے اور pthread لائبریریوں میں کیا فرق ہے؟


جواب 1:

یہ مختلف ، اگرچہ متعلقہ ، طیاروں پر موجود ہیں۔

پٹریڈ لائبریری ایک یونکس سی لائبریری ہے جو پوکسکس تھریڈ کی فعالیت فراہم کرتی ہے۔ ونڈوز سسٹم پر یہ دستیاب نہیں ہے اور اس کے بجائے ونڈوز تھریڈز اور اسی سے متعلق لائبریری موجود ہے (معذرت ، میں تفصیلات فراہم نہیں کرسکتا)۔ دوسرے نظاموں میں تھریڈنگ کی فعالیت فراہم کرنے پر ایک اور ہوگا۔

مثال کے طور پر سور کا پروگرام غور کریں جو متوازی طور پر جیزپ کمپریشن کو چھوٹی سی شکل میں بناتا ہے۔ ہم اس سے pthread لائبریری دیکھ سکتے ہیں

mathieu @ mathieu-Inspiron-5767: ~ / بن $ ldd / usr / bin / pigz
linux-vdso.so.1 => (0x00007ffc52d0b000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x0000145a75912000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x0000145a756f3000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x0000145a754d6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x0000145a750f6000)
/lib64/ld-linux-x86-64.so.2 (0x0000145a75ea5000)

(تیسری لائبریری)

C ++ 11 تھریڈ C ++ معیاری کا عنصر ہے اور وہ فعالیت کا ایک مجموعہ فراہم کرتا ہے جو pthread لائبریری سے موازنہ ہے۔ اگر کوئی یونکس پر C ++ 11 تھریڈز کا استعمال کرتے ہوئے ایک C ++ پروگرام مرتب کرتا ہے تو اس کے نتیجے میں بائنری pthread لائبریری سے منسلک ہوجائے گی۔ ونڈوز سسٹم پر اس کو ونڈوز تھریڈ لائبریری سے جوڑا جائے گا۔ یونیکس کے لئے ونڈوز / کوڈ کے لئے کوڈ رکھنے کا معیار اس امر کی اجازت دیتا ہے کہ معیاری کاری کے عمل کا ایک فائدہ ہے۔

سی ++ 11 تھریڈ کے علاوہ دیگر سمورتی / متوازی فریم ورکس موجود ہیں۔ مثال کے طور پر میسج پاسنگ انٹرفیس - ویکیپیڈیا یا اوپن ایم پی - ویکیپیڈیا یونیکس کے آخر میں تیار کردہ بائنری کو بھی آخر میں pthread لائبریری اور ونڈوز پر ونڈوز تھریڈ لائبریری سے جوڑا جائے گا۔