- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 iPhone 中创建一个应用程序,并在其中使用 NSThread。我使用
创建了一个线程[NSThread detachNewThreadSelector:@selector(doThread:)
toTarget:self
withObject:nil];
我希望我的一个线程将处理所有触摸和其他用户交互,第二个线程处理 NSTimer。所以,在 doThread() 中,我分配了 NTimer,
-(void) doThread:(NSString *)poststring {
NSLog(@"create thread:");
[lock lock];
T1 = [NSTimer scheduledTimerWithTimeInterval:(5)
target : self
selector:@selector(onTimer)
userInfo : nil
repeats : YES];
NSLog(@"after timer");
usleep(1);
[lock unlock];
}
In onTImer,
-(void)onTimer
{
NSLog(@"in timer");
}
现在我无法调用NSTimer的onTimer方法。但我可以看到日志中打印出“After Timer”。这是我不能在线程中使用 NSTimer 的东西吗?
这也是我在执行时可以获得的。
NSAutoreleaseNoPool(): Object 0xd15880 of class __NSCFDate autoreleased with no pool in place - just leaking
Stack: (0x305a2e6f 0x30504682 0x30525acf 0x27b5 0x3050a79d 0x3050a338 0x926ae155 0x926ae012)
请帮助我。谢谢。
最佳答案
NSTimer
将其时间事件安排在当前 NSRunLoop
--您的线程未启动。
如果您只想在一定时间后运行某些内容,请使用 -[NSObject performSelector:withObject:afterDelay:]
:
[self performSelector:@selector(onTimer) withObject:nil afterDelay:5.0f];
如果您尝试在后台实际工作,+[NSThread detachNewThreadSelector:toTarget:withObject:]
将按预期工作,但如果没有NSRunLoop
,您不应该在后台运行计时器事件。另外,您需要将代码包装在自动释放池中:
- (void)doThread:(NSString *)poststring
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Your code goes in here
[pool drain];
}
关于iphone - iPhone SDK 应用程序中的 NSThread、NSTimer 和 AutoreleasePools,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1338891/
我有几个线程。我想运行它们以确保它们正在一个接一个地执行。[运行线程1];[运行线程2];当我这样做时,线程 2 正在运行,而无需等待线程 1 完成。我需要这个,因为我需要线程 1 中的值,以便在线程
NSThread 异步下载图片 在IOS中处理多线程有三个方案 , NSThread 、NSOperation 、GCD 。当然GCD应该是最方便的 ,我们一个一个学 。先理解底层的,最后再使用最方便
我正在创建一个新线程,它在每隔一段时间后运行我的一个方法。 现在我正在做的事情如下: NSThread *thread = [[NSThread alloc] initWithTarget:self
我正在开发一款游戏模拟游戏,希望加快比赛模拟速度。在给定日期,可能有 50 多场比赛需要模拟。目前,我循环遍历每个并告诉他们模拟自己,但这可能需要很长时间。我本来希望 1) 覆盖“忙碌”屏幕 2) 为
我有一个 iPhone 应用程序,在其中显示一个从 RSS 提要加载的表格 View 。当 View 加载时,我调用此方法在新的 NSThread 中运行: - (void)start:(NSURL*
是否可以在单独的线程中运行类方法(以“+”开头)?通常我调用像 [myClass myController]; 这样的方法,我尝试了 [NSThread detachNewThreadSelector
我正在使用 NSOperationQueue 来管理一个相当长的 iOS 应用程序阶段,所以我想异步管理它。在那个阶段,我通过直接使用 calloc 函数在 C 中分配大数组。“大”是指 1024x2
为什么我线程的 Retain count = 2?它在启动方法后增加,为什么? Retain 计数如何为 NSThreads 工作 @implementation ViewController - (
因为 NSThread 无法连接 我尝试了下一个方法,它似乎工作正常,但仍然是非常糟糕的解决方案还是足够好? // init thread NSThread *mythread = [[NSThrea
使用 4 NSThread 将 1000 个元素(例如整数元素)添加到数组中。如果添加一个对象需要 1 个时间单位,那么添加 1000 个对象将需要 1000 个时间单位。通过使用 4 个线程,我想将
我目前正在学习IOS Threading编程......我遇到了一个问题: 我的代码来了,请看一下: int main(int argc, const char * argv[]) { @au
这是我创建线程的方式: readFromWebThread = [[NSThread alloc] initWithTarget:self selector:@selector(loadThread:
我有一个触发线程的静态对象,但每当线程尝试执行选择器时,我都会收到“[NSThread initWithTarget:selector:object:]: target does not implem
我正在处理其他人的代码。我遇到了一行代码 [NSThread detachNewThreadSelector:@selector(myMethod) toTarget:self withObject:
我有很多 NSThreads,我想在它们工作的时候 sleep 。我该怎么做? iOS SDK 中是否有 WinApi 函数 WaitForSingleObject/WaitForMultipleOb
我有一个函数,当我的应用程序进入后台模式时它会被调用。如果用户重新打开应用程序,我想停止线程。到目前为止,我尝试的任何方法都不起作用。 到目前为止,这是我的代码: class Neversleep {
我从购买的媒体流 SDK 库中获得 C++ 回调,它在内部创建了多个线程。 具体来说,当库想要记录一条消息时,我会收到回调。有时我在某些 NSThread 的上下文中被调用,那里有一个自动释放池,但有
我正在使用这样的线程, [NSThread detachNewThreadSelector:@selector(myfunction) toTarget:self withObject 线程运行正常,
我想创建一个不是主线程的工作线程,这样我就可以调用 ... [self performSelector:@selector(doStuff) OnThread:self.myWorkerThread
我正在开发一个应用程序,它在读取 XML 文件时使用 NSThread 加载 viewControllers 的内容。 我是这样完成的: -(void)viewDidAppear:(BOOL)anim
我是一名优秀的程序员,十分优秀!