草庐IT

线程不安全

全部标签

php - 如何在不安装的情况下使用 pear

我正在使用php为网站开发脚本,我想使用一些PEAR类,因为它们非常有助于将我从一些重复的任务中解救出来。问题是我必须将项目作为独立文件夹交付,该文件夹将放置在现有网站中,而不依赖于PHP5和MySQL以外的任何服务器配置。所以我正在寻找一种简单的方法来做到这一点。谁能帮忙? 最佳答案 您可以下载包(一定要下载任何依赖项),并将它们放入目录中。然后,在php中,adjusttheincludepath包含该目录:$path=dirname(__FILE__).DIRECTORY_SEPARATOR.'mypear';set_incl

php - Symfony2 中的多线程

我这里有点情况。我正在使用symfony2和facebookSDK为我的iPhone和Android应用程序设置Web服务。问题是后台工作可能需要相当长的时间。用户首先被重定向到facebook登录页面,在那里他可以通过接受我的facebook应用程序权限来继续。因此,与其等待我的服务完成后台工作,不如立即通知用户一切正常。服务应该在后台继续工作,用户应该不会意识到这一点。这是Controller操作的相关部分:publicfunctionpersistPostsAction(){...if($this->CheckUser($user_id)==0){/*Thisfunctionsh

php - 如何在php中跨线程共享全局变量?

在多线程中,全局变量或资源在线程之间共享。我在c中使用pthread库#include#include#includevoid*worker(void*);intctr=0;pthread_mutex_tlock;intmain(intargc,char*argv[]){pthread_tt[2];inti=0;//~pthread_mutex_init(&lock,NULL);while(i此代码输出:job1startedjob2startedjob2finishedjob2finished在这段代码中,变量ctr在线程之间共享,因此其他线程对该变量所做的更改对另一个线程可见(除非

【Java面试宝典】线程安全问题|线程死锁的出现|线程安全的集合类

CSDN话题挑战赛第2期参赛话题:面试宝典文章目录  前言1、多线程概述1.1、线程的由来1.2、多线程特点2、线程安全问题2.1、互斥锁2.1.1、同步代码块2.1.2、同步方法2.2.3、两种同步思路的区别2.2、死锁2.2.1、线程通信2.2.2、sleep和wait的区别?3、线程安全的集合类  前言  线程安全在面试中是考官比较青睐的考点,那我就从多线程的组成特点上开始,分析线程安全问题、死锁出现与解决的方法以及线程安全的集合类总结。希望可以帮助大家理清有关知识点,直面考官,收割offer!1、多线程概述1.1、线程的由来概念线程是进程中并发执行的多个任务,进程是操作系统中并发执行的

php - 如何在php中使用多线程

我现在正在开发一个关于在Internet上共享视频的网站。流程如下:用户上传视频->服务器端收到视频并使用ffmpeg将视频格式转换为flv->用户继续在网站上做其他事情。现在我想建立另一个线程来完成转换工作(使用ffmpeg将视频格式转换为flv),这样用户就可以在不等待视频转换为flv的情况下做其他事情。但不知道怎么做! 最佳答案 PHP不支持线程。您应该使用由cron脚本运行的后台任务来执行此操作。您可以有一个包含要处理的作业的表,例如,包含磁盘上的文件名、状态(待处理、正在转换、就绪)等,然后让脚本获取所有待处理的作业,更改

关闭登录华为CE交换机时密码不安全的提示

在项目实施过程中遇到,SSH华为CE交换机,初次SSH登录要求改密码,无法登录不到设备里面。以下为遇到问题的显示:Warning:Theinitialpasswordposessecurityrisks.Thepasswordneedstobechanged.Changenow?[Y/N]:Error:Theoperationtimedout.Theserverhasdisconnectedwithanerror.Servermessagereads:Aprotocolerroroccurred.TheconnectionisclosedbySSHServer解决方法:去使能用户名和密码复杂度

php - 在非线程环境中使用线程安全扩展 (APC) 有什么危害吗? (PHP)

我打算用这个SimplePHPUploadwithaProgressBar,它说我需要APC扩展。我有两个APC选项,线程安全的和非线程安全的。使用phpinfo,我发现启用了线程安全,但我不确定php是否真的以多线程方式运行。我听说php仍然是多线程的测试版。无论如何,如果我的PHP不是多线程的并且不是“线程安全的”,使用APC的线程安全版本会有问题吗?tl;dr版本:线程安全的APC是否意味着更高的兼容性(适用于php单线程/多线程),还是意味着需要多线程(仅适用于php多线程)? 最佳答案 ifmyPHPisnotmutith

线程通信的四种方式

多个线程在并发执行的时候,他们在CPU中是随机切换执行的,这个时候我们想多个线程一起来完成一件任务,这个时候我们就需要线程之间的通信了,多个线程一起来完成一个任务,线程通信一般有4种方式:通过volatile关键字通过Object类的wait/notify方法通过condition的await/signal方法通过join的方式现在有一个问题,两个线程分别打印字符串,但是当线程A每输出两次的时候,线程B就输出一次,如此反复10次。通过volatile关键字通过volatile关键字来实现这个任务,这个也是最简单的一种实现方式,大致思路volatile是共享内存的,两个线程共享一个标志位,当标志

php - 多线程 Curl 无法处理大量并发 URL?

我必须同时调用大量API。我正在尝试通过多线程curl来执行此操作,但它似乎无法正确获取所有API结果(出现一些错误;我认为它超时了???)如果我传递了很多URL.一次50个URL似乎是我可以传递的最大值,一次大约100个是我真正开始看到问题的时候。因此,我不得不实现逻辑来分块我在给定时间尝试curl的URL。问题:什么可能导致我的curl问题?我可以在curl中设置一些东西来告诉它等待响应的时间更长-以防我的问题与超时有关吗?我的服务器/php.ini中是否有我可以配置的东西来提高我的脚本的性能?这是脚本:functionmultithreaded_curl(array$urls,$

java - CLI 进程的线程池

我需要通过Java的标准输入将消息传递给CLIPHP进程。我想在一个池中运行大约20个PHP进程,这样当我将一条消息传递到池中时,它会将每条消息发送到一个单独的线程,从而保持要传递的消息队列。我希望这些PHP进程尽可能长时间地保持Activity状态,如果其中一个进程死亡,则会启动一个新进程。我看着用静态线程池来做这件事,但它似乎更适合执行并简单地死掉的任务。我怎么能用一个简单的界面将消息传递到池中呢?我是否必须实现自己的自定义“线程池”? 最佳答案 我正在为此提供一些代码,因为我认为它会让事情变得更清楚。基本上你需要保留一个进程对