小编use*_*719的帖子

串行调度队列如何保证资源保护?

//my_serial_queue is a serial_dispatch_queue

dispatch_async(my_serial_queue, ^{

    //access a shared resource such as a bank account balance
    [self changeBankAccountBalance];

});
Run Code Online (Sandbox Code Playgroud)

如果我提交100个访问并改变银行账户余额的任务,我理解串行队列将按顺序执行每个任务,但是在使用dispatch_async时这些任务是否也按顺序完成?

如果我异步提交到串行队列的任务#23需要很长时间才能完成怎么办?任务#24只在任务#23完成时启动,还是任务#24在任务#23完成之前启动?如果是这样,任务#24在启动其工作时是否有错误的银行账户余额,从而搞砸数据完整性?

谢谢!!

concurrency objective-c grand-central-dispatch ios dispatch-async

2
推荐指数
2
解决办法
1163
查看次数

如何在后台保持 iphone ios xmpp 连接活动?

iPhone 的 XMPPFramework 功能强大。我已经启动并运行了,但是如何在后台保持连接超过 10 分钟?我将不胜感激有关如何完成此操作的更多文档/操作方法。

所以用例简单而常见:Joe 在线并且在 iPhone 聊天应用程序中。他离开聊天应用程序并转到 Safari,玩游戏、播放电影以及做其他事情 3 小时(或更长时间)。乔希望在此期间继续接收消息。

示例应用程序允许 Joe 在后台接收本地通知,但似乎只有 10 分钟。这是相关的代码(我认为)。谢谢!

为了帮助其他人,甚至达到这一点,您需要将 xmppstream 属性 enableBackgroundingSocket 设置为 YES(在您应该复制的 iphoneXMPP 示例项目中为您完成)和 appname-info.plist(即 iosChat- info-plist) 文件,您需要添加新的键/值对。您应该右键单击某处并“添加行”。您应该选择“所需的背景模式”键,然后输入“voip”。按下 Enter 后,Xcode 会检测到您的意思是“应用程序提供 IP 语音服务”。这让您有 10 分钟的时间让聊天应用程序在后台保持打开状态(我认为)。但是我们要无限期地,我怀疑答案就在下面的方法中。我是否应该在此方法或其他方法中“重新连接”,例如,[self connect](我有一个连接方法)?

- (void)applicationDidEnterBackground:(UIApplication *)application{

DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);

if ([application respondsToSelector:@selector(setKeepAliveTimeout:handler:)]) 
{
    [application setKeepAliveTimeout:600 handler:^{

        DDLogVerbose(@"KeepAliveHandler");

        // Do other keep alive stuff here.
    }];
}}
Run Code Online (Sandbox Code Playgroud)

iphone connection background xmpp ios

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

Eclipse项目无法使用相对路径引用文件

我的文件位于src目录下.但是,当我尝试使用"src/readme.txt"调用它时,找不到该文件.事实上,它声明java正在寻找"C:\ Documents and settings\john\My Documents\Downloads\eclipse-win32\eclipse\coolCarsProject\src\readme.txt".

我该如何解决?我不想一直放在绝对的路上.

我是否需要修复类路径,构建路径或更改项目根目录等?对于新手来说,从Eclipse的大约1000个设置中可以看出这一点并不明显.

java eclipse file relative-path

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

异步NSURL请求如何适应大型中央调度/操作队列?

有人能解释异步NSURL请求与GCD和NSOperationQueues之间的关系吗?

我不确定何时使用它们.

现在,当我需要将数据提取/上传到服务器时,我一直在"逃避"异步NSURL请求.但有人建议我应该使用GCD.我的问题是我不知道现实生活中的例子GCD会更好.有没有人对我有任何常见用例?例如,如果我使用GCD存储10个异步NSURL GET请求的队列,这对我有什么好处?在大型中央调度队列或NSOperationQueue中有异步NSURL请求是否有意义?

谢谢!

nsurlconnection nsoperationqueue grand-central-dispatch ios afnetworking

0
推荐指数
1
解决办法
2816
查看次数

正则表达式捕获一行中的第二个空格?

我有以下文字:

靠近、旁边、按顺序或沿着指定路线/方向跟随

我如何匹配 close 中“e”后面的空格,然后用制表符替换它?

虽然这对大家来说可能很容易,但我花了 4 个小时尝试这样做,但没有成功。

一般规则是“仅匹配第二个单词后面的空格”。我有超过 2000 条独特的行,这就是我需要正则表达式的原因。

谢谢你!!

regex vim

-1
推荐指数
1
解决办法
1万
查看次数