در صفحه دانلود پک های مختلف windows binarycode PHP ،عبارت Thread Safe و NON TS در کنار سایر مشخصات پک ها آمده که توضیحی براش پیدا نکردم.
بعبارت دیگه چه فرقی هست بین VC6 x86 Thread Safe و VC6 x86 Non Thread Safe ؟
کسی هست که من روشن کنه؟
در صفحه دانلود پک های مختلف windows binarycode PHP ،عبارت Thread Safe و NON TS در کنار سایر مشخصات پک ها آمده که توضیحی براش پیدا نکردم.
بعبارت دیگه چه فرقی هست بین VC6 x86 Thread Safe و VC6 x86 Non Thread Safe ؟
کسی هست که من روشن کنه؟
البته من ریزه مطلب رو نمیدونم ولی thread safe قابلیت threading داره که non thread safe نداره ولی یه جا خوندم که پی اچ پی thread safe واقعی نیست
فرقی هم که در عمل من باهاش مواجه بودم وقتی بود که میخواستم یه zend extension رو توی فایل php.ini فعال کنم که اگه پی اچ پی نسخه thread safe بود باید از دستور zend_extension_ts به جای zend_extension استفاده میشد ولی الان در نسخه 5.3.0 این مساله دیگه نیست و فقط از دستور zend_extension استفاده میشه .
فرقه دیگه ای در عمل بین ایندو نیست !
thread safe چی هست اصلا؟
مطلبی یافت شد که حداقل تکلیف منُ با این مسئله روشن کرد :
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
منظور از thread safe پشتیبانی از threading ( به فارسی میشه چند رشته ای ) است
( نه دقیقا پشتیبانی از threading بلکه قابلیت فائق آمدن بر یک مشکل رایج در مبحث threading)
که اگه برنامه ای با این قابلیت نوشته و کامپایل شده باشه روی سخت افزار ها و سیستم عامل هایی که این قابلیت رو ساپورت میکنند با سرعت بیشتری اجرا میشه ، البته این تکنولوژیه جدیدی نیست و خیلی از cpu ها این رو ساپورت میکنند مثل مدل هایی از intel که روشون نوشته Hyper Threading . حالا گویا php هم این رو با نسخه های thread safe اش ساپورت میکنه که همینم توی مقاله ای که لینکشو بالا گذاشتم بحث کرده که اینطور نیست و در عمل php نمیتونه اینکارو کنه!!
در هر حال زیاد به این مساله گیر ندید چون در عمل برای ما فرقی نداره و مربوط به پیاده سازی داخلی این زبان برنامه نویسی میشه .