草庐IT

semaphore

全部标签

ios - 调用 [PFFFacebookUtils initializeFacebook] 时解析崩溃 - semaphore_wait_trap

自最新的Parse版本(v1.6.3)以来,我的应用程序在启动时卡住了,它命中的最后一个断点是[PFFFacebookUtilsinitializeFacebook];如果我按下暂停并查看调试器,堆栈跟踪看起来像这样:我正在按照建议在-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions中调用[PFFFacebookUtilsinitializeFacebook]。通过谷歌搜索semaphore_wait_trap问题,它似乎与Cor

ios - Swift:从 url 下载数据导致 semaphore_wait_trap 卡住

在我的应用程序中,点击按钮从Internet站点下载数据。该站点是包含二进制数据的链接列表。有时,第一个链接可能不包含正确的数据。在这种情况下,应用程序获取数组中的下一个链接并从那里获取数据。链接是正确的。我遇到的问题是,当我点击按钮时,应用程序经常(尽管并非总是)卡住几秒钟。5-30秒后,解冻并正常下载工具。我明白,有什么东西阻塞了主线程。在xCode中停止进程时,我得到了这个(注意到semaphore_wait_trap):我是这样做的://ButtonAction@IBActionfuncdownloadWindNoaa(_sender:UIButton){//Startsact

ios - Semaphore.wait(timeout : . now()) 的目的是什么?

查看一些Apple代码示例,我发现了这一点:funcmetadataOutput(_output:AVCaptureMetadataOutput,didOutputmetadataObjects:[AVMetadataObject],fromconnection:AVCaptureConnection){//wait()isusedtodropnewnotificationsifoldonesarestillprocessing,toavoidqueueingupabunchofstaledata.ifmetadataObjectsOverlayLayersDrawingSemapho

objective-c - 使用 Swift 访问类单例时的 semaphore_wait_trap

我遇到了一个奇怪的问题。我可以很好地访问我的类单例实例,但如果我再次尝试访问它,它就会挂起。这是代码的简单版本:privatelet_SharedInstance=MyManager()classMyManager:NSObject{classvarsharedInstance:MyManager{return_SharedInstance}overrideinit(){super.init()println("init")println(self.accessToken())println(MyManager)println("test1")println(MyManager.sha

java - 使用 Semaphore 和 acquire(int) 的 Java 代码中的死锁

我有以下Java代码:importjava.util.concurrent.*;classFoo{staticSemaphores=newSemaphore(1);publicvoidfun(finalcharc,finalintr){newThread(newRunnable(){publicvoidrun(){try{s.acquire(r);System.out.println(c+"_"+r);s.release(r+1);}catch(Exceptione){e.printStackTrace();}}}).start();}}classths{publicstaticvoi

java - JDK 1.7 : "Too many open files" due to POSIX Semaphores?

我查看了SO上的其他类似问题,但它们似乎是由其他问题引起的。首先,我确保明智地关闭了所有文件句柄,然后我使用了lsof-p查看我的文件列表。它在我的整个运行期间保持相当稳定,但之后我会定期获得lsof中列出的大约10,000个条目像这样:COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAME...java36809smm*235rPSXSEM0t0kcms00008FC901624000java36809smm*236rPSXSEM0t0kcms00008FC901624000java36809smm*237rPSXSEM0t0kcms00008FC901

主线程上的 IOS semaphore_wait_trap 导致 UI 挂起

我在异步(串行)工作队列中有一个长时间运行的函数。我知道有时这个函数会卡在特定的openCV调用中。由于某种原因,此挂起也导致主线程挂起。暂停并进入Debug模式时,我看到调用了semaphore_wait_trap()在主线程(队列)上我可以在Debug模式下挂起挂起的线程(我的工作队列),然后这个陷阱就会消失,GUI在手机上再次变得有响应。取消暂停工作线程后,GUI会响应1-2秒(我怀疑直到再次激活该线程),然后UI再次变得无响应。此线程不对主线程/队列进行dispatch_sync()调用IOS是否有可能因为worker长时间运行而暂停主线程(“捕获”它)?我可以强制它移除blo

amazon-web-services - 如何让Redisson Semaphore自动释放

我正在使用RSemaphore来维护特定的计数。请看下面:-RSemaphoresem=redisson.getSemaphore("custid=10");sem.trySetPermits(10);try{sem.acquire();}catch(InterruptedExceptione){e.printStackTrace();}System.out.println(Thread.currentThread().getName()+":Acquiredpermit");try{Thread.sleep(60000);}catch(InterruptedExceptione){/

ios - 什么时候使用 Semaphore 而不是 Dispatch Group?

我假设我知道如何使用DispatchGroup,为了理解这个问题,我试过:classViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()performUsingGroup()}funcperformUsingGroup(){letdq1=DispatchQueue.global(qos:.userInitiated)letdq2=DispatchQueue.global(qos:.userInitiated)letgroup=DispatchGroup()group.enter()dq

c# - USB 连接 "The semaphore timeout period has expired"错误

我收到这个错误...Thesemaphoretimeoutperiodhasexpired.在这条线上...ThePorts.ActivePort1.Open();...但我只是偶尔得到它。当它发生时,它会一遍又一遍地发生。然后问题消失了,持续数小时或数天,然后它又回来了。串口是一个连接了蓝牙的USB。我认为这个人遇到了非常相似的问题,但不是在C#中FreezeonSerialPort.Open/DeviceIoControl/GetcommStatewithusbser.sys据我所知,我已经阅读了他的整个问题,以及由此产生的评论和答案,但我真的无法弄清楚哪一个解决了他的问题,或者C