相关疑难解决方法(0)

什么是PHP中的线程安全或非线程安全?

我看到PHP的不同二进制文件,如非线程或线程安全?这是什么意思?这些套餐有什么区别?

php multithreading packages thread-safety threadcontext

737
推荐指数
4
解决办法
34万
查看次数

PHP Gettext问题(比如非线程安全的?)

我想开始使用gettext来处理我在Web项目上的翻译(PHP 5).由于它是一个广泛使用的标准,具有良好的声誉,它似乎是最好的选择.

但是,我也听到有关服务器不兼容的事情,并且它是非线程安全的.这对我使用它的项目意味着什么?由于我构建了许多人使用的东西,因此我的代码工作非常重要.

我们是在谈论小问题(比如仍在使用PHP 4的人)还是主要的问题,比如在websevers上分发和安装gettext的问题很少?

php gettext internationalization

11
推荐指数
1
解决办法
3760
查看次数

PHP线程池

编辑:澄清和简化:我正在寻找一种"好"的方式,每当Stackable结束时(使用第一个Stackable中的数据添加第二个),可以向Pool提交更多可堆叠对象.我有想法轮询对象,直到一个结束(低效和丑陋)并传递对Pool对象的引用(我无法使其工作).基本代码是这个:https://github.com/krakjoe/pthreads/blob/master/examples/Pooling.php

现在,完整描述:

我正在开发一个PHP应用程序,它已经增长太多而且需要花费很多时间.因此,我正在尝试多线程该应用程序,使用线程池(我知道PHP不是最好的选择,但我不想要,并且此时无法更改语言).

问题是,应用程序有两个阶段,必须按顺序排列,每个阶段都有很多可以同时执行的子任务.所以,这是我头脑中的过程:

  • 第1阶段将有N个子任务,这些子任务将是Stackable对象.
  • 当子任务i结束时,必须通知"main"(创建池,Stackables等),并使用来自子任务i(不同的Stackable对象)的一些数据执行子任务i的阶段2.在此阶段,第1阶段的每个子任务将有M个子任务.

我想为第1阶段和第2阶段的线程使用相同的线程池,我从第1阶段到第2阶段的唯一解决方案是轮询N个子任务中的每一个,直到其中一个结束,然后调用第2阶段结束,并重复直到所有N个子任务结束.

我正在使用Joe Watkins在pthreads源中包含的线程池的示例作为基本代码.

php multithreading threadpool

3
推荐指数
1
解决办法
8329
查看次数