Többszálúság az Aspose.Slides for PHP via Java-ban
Bevezetés
Bár a prezentációkkal való párhuzamos munka (a feldolgozás/töltés/klónozás kivételével) lehetséges, és a legtöbbször minden rendben működik, mégis van egy kis esély arra, hogy helytelen eredményeket kapjon, amikor a könyvtárat több szálon használja.
Javasoljuk, hogy ne használjon egyetlen Presentation példányt több szálas környezetben, mivel ez kiszámíthatatlan hibákhoz vagy nehezen észlelhető meghibásodásokhoz vezethet.
Nem biztonságos betölteni, menteni és/vagy klónozni egy Presentation osztály példányát több szálon. Az ilyen műveletek nem támogatottak. Ha ilyen feladatokat kell végrehajtania, akkor a műveleteket több egyetlen szálú folyamatra kell bontania – és minden folyamatnak saját prezentáció példányt kell használnia.
Nem garantáljuk a több szálas működést PHP-ben a kiterjesztések használata esetén. Ha ezeket használja, saját felelősségére tegye.
GYIK
Meg kell hívnom a licencbeállítást minden szálban?
Nem. Elég egyszer elvégezni a folyamat/app tartomány szintjén a szálak indítása előtt. Ha a license setup párhuzamosan hívható meg (például lusta inicializálás közben), szinkronizálja a hívást, mivel a licencbeállítási metódus maga nem szálbiztos.
Átvihetek Presentation vagy Slide objektumokat szálak között?
A „élő” prezentációobjektumok szálak közötti átvitele nem ajánlott: használjon szálanként független példányokat, vagy előre hozza létre a különálló prezentációkat/diakonténereket minden szál számára. Ez a megközelítés követi az általános ajánlást, miszerint ne osszon meg egyetlen prezentáció példányt szálak között.
Biztonságos párhuzamosan exportálni különböző formátumokba (PDF, HTML, képek), ha minden szálnak saját Presentation példánya van?
Igen. Független példányokkal és külön kimeneti útvonalakkal az ilyen feladatok általában helyesen párhuzamosíthatók; kerülje a megosztott prezentációobjektumokat és a megosztott I/O adatcsatornákat.
Mit tegyek a globális betűtípus beállításokkal (mappák, helyettesítések) több szálas környezetben?
Inicializálja az összes globális font settings beállítást a szálak indítása előtt, és ne módosítsa őket a párhuzamos munka során. Ez elkerüli a versenyhelyzeteket a megosztott betűtípus erőforrások elérésekor.