پردازش چندریشتهای در Aspose.Slides برای PHP از طریق Java
معرفی
در حالی که کار موازی با ارائهها امکانپذیر است (به جز تجزیه/بارگذاری/کلونکردن) و اکثر اوقات همه چیز خوب پیش میرود، اما احتمال کمی وجود دارد که هنگام استفاده از کتابخانه در چندین رشته نتایج نادرستی دریافت کنید.
ما بهشدت توصیه میکنیم که از یک نمونهٔ Presentation در محیط چندرشتهای استفاده نکنید زیرا ممکن است منجر به خطاها یا شکستهای پیشبینینشدهای شود که بهراحتی قابل تشخیص نیستند.
بارگذاری، ذخیرهسازی و/یا کلونکردن یک نمونه از کلاس Presentation در چندین رشته ایمن نیست. چنین عملیاتهایی پشتیبانی نمیشود. اگر نیاز به انجام این کارها دارید، باید عملیات را بهصورت موازی با استفاده از چندین فرآیند تکرشتهای انجام دهید و هر یک از این فرآیندها باید از نمونهٔ ارائهٔ خودش استفاده کنند.
ما در استفاده از افزونهها در PHP، چندریشتهای بودن را تضمین نمیکنیم. اگر از آنها استفاده میکنید، به عهدهٔ خودتان است.
سوالات متداول
آیا لازم است در هر رشته تنظیم لایسنس را فراخوانی کنم؟
خیر. کافی است یکبار برای هر فرآیند/دامنهٔ برنامه قبل از شروع رشتهها انجام شود. اگر راهاندازی لایسنس ممکن است بهصورت همزمان فراخوانی شود (مثلاً در هنگام مقداردهی تنبل)، آن فراخوانی را همگامسازی کنید زیرا خود روش تنظیم لایسنس ایمن در برابر رشتهها نیست.
آیا میتوانم اشیای Presentation یا Slide را بین رشتهها پاس بدهم؟
پاس دادن اشیای «زنده» ارائه بین رشتهها توصیه نمیشود: برای هر رشته از نمونههای مستقل استفاده کنید یا پیشاپیش ارائهها/محفظههای اسلاید جداگانه برای هر رشته ایجاد کنید. این رویکرد مطابق با توصیهٔ کلی عدم اشتراک یک نمونهٔ ارائه بین رشتهها است.
آیا ایمن است که صادرات به قالبهای مختلف (PDF، HTML، تصویر) را بهصورت موازی انجام داد به شرط اینکه هر رشته یک نمونهٔ Presentation خودش را داشته باشد؟
بله. با نمونههای مستقل و مسیرهای خروجی جداگانه، چنین وظایفی معمولاً بهدرستی بهصورت موازی اجرا میشوند؛ از هر گونه اشیای مشترک ارائه و جریانهای ورودی/خروجی مشترک جلوگیری کنید.
در محیط چندریشتهای، باید چه کار با تنظیمات کلی فونت (پوشهها، جایگزینیها) انجام دهم؟
تمام تنظیمات کلی فونت را قبل از شروع رشتهها مقداردهی اولیه کنید و در طول کار موازی آنها را تغییر ندهید. این کار مسابقات دسترسی به منابع فونت مشترک را از بین میبرد.