PDA

View Full Version : سوال: تفاوت بین Non Thread Safe و Thread Safe در ورژن 5.3 PHP



ali.e.v
پنج شنبه 05 شهریور 1388, 22:26 عصر
در صفحه دانلود پک های مختلف windows binarycode PHP (http://windows.php%E2%80%8E.Net/download/) ،عبارت Thread Safe و NON TS در کنار سایر مشخصات پک ها آمده که توضیحی براش پیدا نکردم.
بعبارت دیگه چه فرقی هست بین VC6 x86 Thread Safe و VC6 x86 Non Thread Safe ؟
کسی هست که من روشن کنه؟

sepehrmm
جمعه 06 شهریور 1388, 00:39 صبح
البته من ریزه مطلب رو نمیدونم ولی thread safe قابلیت threading داره که non thread safe نداره ولی یه جا خوندم که پی اچ پی thread safe واقعی نیست (http://neosmart.net/blog/2008/dont-believe-the-lies-php-isnt-thread-safe-yet/)
فرقی هم که در عمل من باهاش مواجه بودم وقتی بود که میخواستم یه zend extension رو توی فایل php.ini فعال کنم که اگه پی اچ پی نسخه thread safe بود باید از دستور zend_extension_ts به جای zend_extension استفاده میشد ولی الان در نسخه 5.3.0 این مساله دیگه نیست و فقط از دستور zend_extension استفاده میشه .
فرقه دیگه ای در عمل بین ایندو نیست !

امیـرحسین
جمعه 06 شهریور 1388, 01:09 صبح
thread safe چی هست اصلا؟

ali.e.v
جمعه 06 شهریور 1388, 14:36 عصر
مطلبی یافت شد که حداقل تکلیف منُ با این مسئله روشن کرد :


A Thread Safe version should be used if you install PHP as an Apache module. The Non Thread Safe
version should be used if you install PHP as a CGI binary.

reference link (http://www.sitepoint.com/blogs/2009/07/07/install-php53-windows/)

sepehrmm
شنبه 07 شهریور 1388, 23:18 عصر
thread safe چی هست اصلا؟

منظور از thread safe پشتیبانی از threading ( به فارسی میشه چند رشته ای ) است
( نه دقیقا پشتیبانی از threading بلکه قابلیت فائق آمدن بر یک مشکل رایج در مبحث threading) (http://en.wikipedia.org/wiki/Thread_safe)
که اگه برنامه ای با این قابلیت نوشته و کامپایل شده باشه روی سخت افزار ها و سیستم عامل هایی که این قابلیت رو ساپورت میکنند با سرعت بیشتری اجرا میشه ، البته این تکنولوژیه جدیدی نیست و خیلی از cpu ها این رو ساپورت میکنند مثل مدل هایی از intel که روشون نوشته Hyper Threading . حالا گویا php هم این رو با نسخه های thread safe اش ساپورت میکنه که همینم توی مقاله ای که لینکشو بالا گذاشتم بحث کرده که اینطور نیست و در عمل php نمیتونه اینکارو کنه!!
در هر حال زیاد به این مساله گیر ندید چون در عمل برای ما فرقی نداره و مربوط به پیاده سازی داخلی این زبان برنامه نویسی میشه .