jjzjj

pThreads

全部标签

c++ - OS X clang -pthread

在OSX中使用带有clang的pthread库的编译器/链接器要求是什么。对于GCC,我知道使用-pthread设置适当的编译器/链接器选项,但我不确定OSX是否带有clang。air:~jose$clang++-ctest.cpp-pthreadair:~jose$clang++-otest-pthreadtest.oclang:warning:argumentunusedduringcompilation:'-pthread'air:~jose$g++-ctest.cpp-pthreadair:~jose$g++-otest-pthreadtest.o

c++ - CMake 链接错误 pthread:启用多线程以使用 std::thread:不允许操作

我有一个类似的错误C++Threads,std::system_error-operationnotpermitted?我正在使用完全相同的源代码并使用进行编译g++../src/main.cpp-pthread-std=c++11工作没有任何问题。因为我想在一个更大的项目中使用线程,所以我必须在CMake中使用线程。搜索解决方案后,我发现了几个代码,例如:cmake_minimum_required(VERSION2.6)project(Test)add_definitions("-std=c++11")find_package(Threads)add_executable(main

c++ - 何时使用 pthread_mutex_t

有人可以解释一下在什么情况下使用std::mutex与pthread_mutex_t比较有益。我不明白为什么我们会使用pthread_mutex_t。谢谢 最佳答案 pthread_mutex_t是一种POSIX解决方案(可用于linux和其他UNIX系统),在c++11将同步原语引入c++库之前就已经存在。您现在应该使用std::mutex,除此之外,它更跨平台(也可以在Windows下使用)。 关于c++-何时使用pthread_mutex_t,我们在StackOverflow上找到

c++ - 保护主线程免受工作线程中的错误

当使用posix线程时,是否有一些方法可以“保护”主线程免受工作线程引起的错误(例如取消引用的空指针、被零除等)的影响。“工作线程”是指由pthread_create()创建的posix线程。不幸的是,我们不能使用异常——所以没有“catch”等。这是我的测试程序(C++):void*workerThreadFunc(void*threadId){int*a=NULL;*a=5;//Error(segmentationfault)pthread_exit(NULL);}intmain(){cout在上面的例子中,workerThread引起的错误会终止整个程序。但是尽管有这个错误,我还

c++ - undefined reference `pthread_create' 使用 ASIO 和 std::thread 制作 C++11 应用程序时出错

我设置了Eclipse(实际上是XilinxSDK,但基于Eclipse)和g++4.9.2来编译一个使用独立ASIO的项目,我在属性->C/C++中使用了-std=c++11Build->Settings->ToolSettings->Otherflags以便它可以使用所有C++11特性进行编译。我还在C/C++GeneralSymbols中设置了ASIO_HAS_STD_THREAD,ASIO_STANDALONE等等,我希望ASIO头文件会使用std::thread而不是线程。但是,我仍然看到来自make的错误:undefinedreferencetopthread_create

c++ - C++ 成员函数中的 PTHREAD_MUTEX_INITIALIZER 无法编译?

classA{public:A();private:pthread_mutex_tmu;};A::A(){mu=PTHREAD_MUTEX_INITIALIZER;//cannotcompile}我不能在类成员函数中初始化pthread_mutex_t吗? 最佳答案 取而代之的是:A::A(){mu=PTHREAD_MUTEX_INITIALIZER;//cannotcompile}试试这个:A::A(){pthread_mutex_init(&(mu),NULL);}PTHREAD_MUTEX_INITIALIZER是一个宏,一个

c++ - 链接器错误 : undefined reference to symbol 'pthread_rwlock_trywrlock@@GLIBC_2.2.5'

我一直在使用CentOS、Qt4.7和GCC4.4进行开发我刚刚安装了包含GCC4.7.2的RedHatDeveloperToolset1.1,在make结束时,我收到一个错误/usr/bin/ld:../../bin/Solo:undefinedreferencetosymbol'pthread_rwlock_trywrlock@@GLIBC_2.2.5'/usr/bin/ld:note:'pthread_rwlock_trywrlock@@GLIBC_2.2.5'isdefinedinDSO/lib64/libpthread.so.0sotryaddingittothelinker

objective-c - 在后台生成图像

我目前正在构建一个生成图像并将它们存储在NSMutableArray中的应用程序,然后在UINavigation(Cell.imageView.image)中使用它。我需要能够处理多达2000张图像而不会导致我的应用程序出现延迟。目前,我如何设置此生成是通过在访问cellForRowAtIndexPath时调用生成方法。这似乎会在调用下一个导航之前造成4-5秒的延迟。幸运的是,在这4-5秒之后生成就完成了,没有任何问题。在iProducts的世界里,等待4-5秒并不是真正的选择。我想知道在后台生成这些图像的选项是什么。我尝试使用线程[selfperformSelectorInBackg

ios - 使用 "pthread_rwlock_wrlock failed cyclic metadata dependency detected"的调试器操作在模拟器中卡住和崩溃应用程序

在iOS模拟器(Xcode8.2.1、iOS10.2模拟器)中调试我的混合Objective-C/Swift3.0应用程序时,我无法在调试器中执行任何有用的操作。我输入的每个命令都会导致调试器卡住几秒钟,然后给我这条消息:objc[18146]:pthread_rwlock_wrlockfailed(11)GenericCache(0x1059cfca0):cyclicmetadatadependencydetected,abortingexpressionproducederror:error:Executionwasinterrupted,reason:signalSIGABRT.

PHP pthreads - 共享对象

我正在寻找一种安全快捷的方式来使用共享对象。我已经在这里问了这个问题:https://github.com/krakjoe/pthreads/issues/470但显然这不是正确的地方。试图与许多其他上下文(线程)共享一个对象(线程)。所有线程都在更新这个分片对象——它们可以设置自己的请求,也必须响应其他人的请求。现在krakjoe回应说在7中无法使用锁定/解锁,我遇到了问题。我知道:.synchronized但不知道如何使用它来满足我的需求。我如何使用::synchronized来编写类似的方法锁()解锁()is_locked()--检查是否已锁定,如果已锁定,请不要尝试-稍后再尝试