草庐IT

pthread_once

全部标签

windows - pthreads-win32 在各种 Windows 编译器上的可移植性

我正在使用pthreads-win32来允许对Windows的线程支持。我有一个使用pthreads的跨平台项目,我想让它在具有各种编译器和不同操作系统版本的Windows上运行。至少,根据文档pthreads-win32应该可以与MSVC一起工作,甚至提供MSVC构建。但我不知道该库是否使用最新的MSVC编译器(如MSVC-2008和如果在64位Windows下支持。根据您自己的经验,您是否知道此库有任何问题?MSVC8、MSVC9、MSVC10有任何问题吗?Windowsx86_64有任何问题吗?WindowsVista/Windows7有任何问题吗?注意事项:甚至不要尝试推荐使用

windows - CMake : <pthread. h> 在 Windows 中找不到

我是CMake新手。我在Linux上测试了我正在制作的程序。这个程序使用(POSIXThreadslib),所以在我的CMakeList中,我添加了:find_package(Threads)它适用于Linux发行版(Arch、Mint、Ubuntu等),但现在,我正在Windows32(VisualStudio92008)中尝试它,并且在生成过程中收到此消息:--Lookingforincludefilepthread.h-notfound(而且我编译输出工程文件时,确实找不到pthread.h)。在Windows上,将“C:\pthread”视为我的pthread目录,我在路径中定

redis - 带有 libev 和 pthread 的异步 hiredis,我做错了什么?

我正在为小型单色显示器编写GUI,我想每秒更新一次屏幕上的数据。数据存储在redis数据库中,我正在尝试使用pthread、libev和异步hiredis调用进行协调。我的计划是让一个线程每秒从数据库中提取新数据并存储一个本地副本以便快速访问。更新屏幕的另一个线程将随意访问该数据,而无需等待数据库访问。第一个问题,我的做法对吗?第二个问题,为什么我每秒都轮询数据库有问题?我想我可以切换到同步方法并让它工作,但这是正确的方法吗?相关代码如下:intmain(intargc,char*argv[]){pthread_tdataThread;pthread_tguiThread;pthrea

Python、redis : How do I set multiple key-value pairs at once

我有两个列表键=[k0,k1,....kn]vals=[v0,v1,....vn]我可以通过以下多个步骤在Redis上设置这些键值:对于范围内的我(0,len(键)):redis_con.set(键[i],vals[i])但这是多个集合操作。如何在一个异步步骤中完成此操作? 最佳答案 假设您想要一个单一的redis调用来设置操作:pipe=redis_con.pipeline()foriinrange(0,len(keys)):pipe.set(keys[i],vals[i])pipe.execute()

c++ - 我们可以在 iPhone 应用程序中使用 pthread 而不是 NSThread

嗯,我有一个同时使用ObjectiveC和C++的应用程序,但出于可移植性的原因,我尝试尽可能多地使用C++...。现在我遇到了一些需要线程的问题,我正在考虑使用pthread而不是NSThread...可以使用pthread吗?Apple会通过拒绝我在应用商店中的应用来惩罚我使用它吗? 最佳答案 NSThread是围绕pthread构建的我看不出任何使用pthread会导致苹果拒绝的原因 关于c++-我们可以在iPhone应用程序中使用pthread而不是NSThread,我们在Sta

ios - 在 dispatch_once(&onceToken, ^{

+(Service*)sharedInstance{staticLocationService*instance=nil;staticdispatch_once_tonceToken;dispatch_once(&onceToken,^{我正在使用上面显示的代码在我的应用程序中创建服务的单例实例。这是从“AppDelegateapplication:willFinishLaunchingWithOptions:”调用的。对于大多数用户来说,这段代码工作正常。但是对于2个用户,应用程序在“dispatch_once(&onceToken,^{”行崩溃。他们删除了该应用程序并重新安装了它。

c++ - iPhone 游戏 CPU 分析和 pthread_setspecific

在iPhone3G上分析iOS游戏时,仪器报告系统调用pthread_setspecific(从许多看似无关的位置调用)是最大的CPU瓶颈。谷歌告诉我这涉及为线程存储元数据,但是我不确定如何追踪它,因为整个引擎是一个线程。这与CADisplayLink有关系吗?我可以优化特定场景以更好地解决这个问题吗?以下是一些可能有助于回答我的问题的相关信息:设备:iPhone3GiOS版本:4.2.1游戏代码完全是C++,应用层是obj-C。游戏使用OpenglES1.1不幸的是,RTTI和C++异常都是必需的,因此已启用。这是通过仪器中的CoreAnimation分析器运行发布版本(带有调试符号

ios - application : didReceiveRemoteNotification: fetchCompletionHandler: called more than once. 如何避免?

我有一个应用程序,它使用远程/推送通知。使用远程通知的后台模式,一切正常。应用程序唤醒并从服务器获取所有需要的数据。但是如果通知中心没有清除推送通知警报,并且用户点击它application:didReceiveRemoteNotification:fetchCompletionHandler:方法将再次被调用,这意味着它将向服务器发送新的请求,并且这是不受欢迎的行为。第一个选项是检查应用程序状态,但是当应用程序处于暂停状态时,这会给我带来问题。我必须执行类似下面代码的操作,但这对我不起作用:if([UIApplicationsharedApplication].application

ios - 移动行在索引路径 : how to delete section once last row is moved to another section

我有一个包含多个部分的表格View。我希望能够将行从一个部分移动到另一个部分,并在没有行时删除一个部分。我正在尝试通过moveRowAtIndexPath执行此操作,但我的代码不起作用并抛出NSRangeException异常。这是一个代码示例:-(void)tableView:(UITableView*)tableViewmoveRowAtIndexPath:(NSIndexPath*)fromIndexPathtoIndexPath:(NSIndexPath*)toIndexPath{NSUIntegerfromSection=[fromIndexPathsection];NSUI

ios - 父类(super class)中的 dispatch_once?

如果我在父类(superclass)的实例方法中调用dispatch_once,它会为每个子类执行一次吗?我猜不是因为XcodeGrandCentralDispatch(GCD)Reference说它“在应用程序的生命周期内只执行一次block对象。” 最佳答案 您对文档的阅读是正确的。如果您使用相同的一次token,该block将只执行一次。 关于ios-父类(superclass)中的dispatch_once?,我们在StackOverflow上找到一个类似的问题: