- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组重复执行的任务,而不是每次需要执行此用户调用的任务时都创建一个新线程,而是要使用线程池。
在创建新线程的典型流程中,每次调用线程入口点时,您都必须设置一个自动释放池。根据http://www.mikeash.com/?page=pyblog/autorelease-is-fast.html,似乎此操作的性能可能微不足道,但我想做的是避免在我的应用程序执行期间与设置和拆除大量这些线程相关的成本。在其他框架/语言中,我刚刚检索了一个空闲线程并使其工作。完成工作后,线程将返回到池中。
我没有在iPhone SDK中看到任何线程池对象,只是NSThread。有什么好方法吗?
我如何设置线程:
// create thread using supplied entry point
[NSThread detachNewThreadSelector:@selector(myMethod)
toTarget:self
withObject:nil];
// thread entry-point
- (void)myMethod {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
*** code that should be run in the new thread goes here ***
[pool release];
}
最佳答案
您要执行此操作的方法是使用NSOperationQueue,它将保存要完成的任务队列,并根据需要并行执行(可配置)尽可能多的任务,每个任务都在后台线程上执行。我假设实现在给定操作完成后重新使用线程。
您可以将NSOperationQueue与NSOperations结合使用-您可以在其中进行同步调用(因为所有工作都在后台线程上完成),或者您仍然可以通过做更多的工作来进行异步调用(必须定义更多的方法)。
这是您可能会发现使用的tutorial。
关于iphone - CocoaTouch中的线程池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1632054/
我想查找当前日期和当前日期 10 天前的日期。我知道如何查找当前日期。请有人帮我找到当前日期 10 天前的日期。 提前致谢。 最佳答案 您可以使用NSDateComponents从当前日期中减去天数。
我正在尝试制作一个 UIView/UIControl,人们可以向上拖动并显示文本框,然后向下拖动以隐藏它。然而,我还没有找到一种方法来使这种“流动”——它似乎总是停在随机的地方并且不允许任何更多的运动
我想 Swift 语言已经引起了一大群 iOS 程序员的注意——他们中的许多人一生中从未写过一行 Objective-C。 例如,我在应用商店中有许多用 Titanium 编写的应用。 在 Titan
我正在为 iPhone 编写一个静态库,我想知道我正在做的事情是否值得推荐,或者我是否应该采取不同的方法。 我正在编写的静态库依赖于libxml2。 libxml2 有一个动态库(dylib)和一个静
我正在尝试将现有 iPhone 应用程序的一部分打包为静态库。当我从测试应用程序包含库时,库的某些部分无法正常工作,并且我想调试我的库。 我在我的库代码中添加了一些 NSLog 调用并重新编译。但是,
我正在 swift 开发自定义 CocoaTouch 框架,其中包括几个框架,如 AFNetworking、SwiftyJSON 和许多其他添加了 CocoaPods 的框架。我还需要包括 Alamo
我正在尝试使用 JavaFXPorts 和 RoboVM-cocoatouch 但我无法使用 RoboVM 中的原生内容,例如 UIButton。 我的 build.gradle 文件中有以下依赖项:
根据Ray Wenderlich tutorial ,我做了以下事情: 第 1 步 - 我下载了 CorePlot_1.4.zip 官网 第 2 步 - 我将 CorePlotHeaders 文件夹
我想为 CocoaTouch 框架添加多语言支持。 问题:我创建的 Localizable.strings 文件仅在 NSLocalizedString 是主应用程序及其目标的一部分时才会使用。我想将
我能够按照 https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps 上的说明进行操作将 Flutter 作为依赖项添加
我想假装是 CocoaTouch 的新手,但由于我已经使用它一年多了,所以我会直接跳出来并声称自己很愚蠢。有没有一种简单/优雅的方法来拦截 CocoaTouch 中的 HTTP 调用并通过自定义类路由
我刚开始进行 iOS 开发,但无法使用鼠标,因为我是盲人,并且在 Mac 和 iOS 设备上都使用画外音。在这种特殊情况下,我无法找人为我设计 UI,所以我希望自己在一个 View 上布置 9 个控件
我正在使用 XCode 8 + Swift 3。 我创建了一个名为“MyApp”的新 iOS 项目。 然后,我创建了一个名为“MySubProject”的 Cocoa touch framework
我在 Cocoa Touch 应用程序中有一个 UIWebView。 我想要一个 或 ,如果用户按下这个按钮,那么我想在应用程序内部使用react。 是否有委托(delegate)/回调/javas
我在 XCode 8.3 中使用 Swift 3.1 并看到警告: Method 'initialize()' defines Objective-C class method 'initialize
是否可以拥有一个包含 Cocoa (MacOSX) 和 CocoaTouch (iPhone) 版本组件的 Xcode 项目文件? 我以为我已经很接近了,直到我意识到你需要在项目设置中设置“Base
我是 iOS 新手,所以如果这是一个基本错误,我很抱歉... 您好,我正在使用 Swift 开发 iOS 应用程序,并尝试使用 CorePlot( https://github.com/core-pl
我有一个 iPhone 应用程序,在模拟器中运行得很好。它通过删除所有不是绝对必要的东西来很好地响应内存警告。当我在设备上运行它时,它运行良好。但在使用一定量后,它会崩溃并显示错误代码 101 - 据
我试图了解为 iOS SDK 提供的 LocalAuthentication 框架的 LAError 类中声明的代码枚举标记的类型别名的用法和意义。我在所附的屏幕截图中标记了相同的内容。 LAErro
在浏览 iPhone 的示例代码应用程序时,我发现一对发送/接收方法实际上具有相同的签名定义,但其中一个变量关联的值类型除外。 从标题中: - (void)receivedData: (unsigne
我是一名优秀的程序员,十分优秀!