问题标签 [background-thread]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
407 浏览

iphone - 如何在 Objective C 中运行、重新启动和终止线程?

我有一个更新分页的功能,即计算总页数。

这是它调用的方法

因此,我的 UI 不会被击中,但是当用户关闭或弹出视图应用程序时会崩溃。另一个增加和减小文本大小的按钮也称为相同的方法,因此如果它已经在运行并且用户单击调整它敲击的字体大小或有时会崩溃。

我的问题是:

  • 是否可以在后台运行它,如果用户关闭模式,那么它应该停止而不是崩溃。
  • 如果用户单击调整字体大小,那么它应该停止旧的并运行新的。
  • 即使它的处理仍在继续,我可以使用计算的总页数吗?

我用了

[self performSelectorOnMainThread:@selector(LoadChapters) withObject:nil waitUntilDone:NO];(有效,但有时会为 webview 报错)

和 NSOperation(不起作用)

调用那一行函数调用。

0 投票
1 回答
371 浏览

android - 我可以在 android 中从 Background Thread 更改 UI 内容吗?

在我的 android 应用程序中,我创建了后台线程以将数据从互联网加载到我的应用程序中。在该后台线程中,我为文本字段设置了一些值,如下所示。

但它会给出以下异常。

android.view.ViewRoot$CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能触摸其视图。

我怎样才能解决这个问题??

0 投票
1 回答
1579 浏览

vb.net - 访问一个正在运行的后台线程 VB.NET VS2008

我创建了一个后台线程来获取数据并将其返回到主线程;这行得通。现在我希望能够停止来自主线程的 SQL 请求(可能是单击按钮)。

这是我创建线程(工作)的测试代码:

如何访问后台线程以按需停止查询?

我是否需要在主线程上设置一个标志,告诉后台线程停止运行,然后让后台线程每隔一段时间轮询主线程?

任何帮助,将不胜感激。我试图寻找一个例子,但我找不到一个好的例子。即使是伪代码也会有所帮助

谢谢。

0 投票
3 回答
1532 浏览

iphone - 在后台从 URL 加载 tableview 图像会导致重复

我有一个表格视图,其中填充了搜索词的结果。许多结果包含需要从 URL 加载的图像,但不是全部。我最初让它cellForRowAtIndexPath在主线程的方法中从 URL 中抓取图像,效果很好,但是它使 tableview 的滚动变得断断续续,因为它暂时“卡”在每个图像上。

所以,我决定尝试在后台线程中加载图像。这是我的cellForRowAtIndexPath方法。URL 存储在 resultsArray 中,索引对应于单元格的行。

当 tableview 缓慢滚动时,图像都加载到相应的单元格中,我可以确认这一点,因为图像与单元格的标题匹配,但我忽略了除图像之外的所有设置以缩短此问题。但是,当我滚动得更快时,尤其是当我模拟慢速互联网连接时,图像开始加载到错误的单元格中。我认为这与重用单元格有关,因为如果我快速向顶部滚动,刚刚离开视图的单元格的图像通常会在刚刚进入的单元格中结束。我以为 bookImage.image = NULL; 行将确保不会发生这种情况,但我想不会。我想我不太了解后台线程,当最终从 URL 加载图像时,它是否忘记了它打算用于哪个单元?你知道会发生什么吗?感谢您的任何反馈!

0 投票
5 回答
55600 浏览

ios - 正确使用 beginBackgroundTaskWithExpirationHandler

我对如何以及何时使用有点困惑beginBackgroundTaskWithExpirationHandler

Apple 在他们的示例中展示了在applicationDidEnterBackground委托中使用它,以获得更多时间来完成一些重要任务,通常是网络事务。

在查看我的应用程序时,似乎我的大部分网络内容都很重要,当启动一个应用程序时,如果用户按下主页按钮,我想完成它。

那么,为了安全起见,包装每个网络事务(我不是在谈论下载大块数据,主要是一些简短的 xml)是否被接受/良好做法 beginBackgroundTaskWithExpirationHandler

0 投票
1 回答
354 浏览

python - App Engine 上 BackgroundThreads 的日志在哪里?

我正在编写一个应用程序,它从后端实例上的 BackgroundThread 对象写入日志条目。我的问题是我不知道如何访问日志。

文档说,“后台线程的 os.environ 和日志条目独立于生成线程的条目”,实际上,日志条目不会与后端实例的条目一起显示在管理控制台上。但是管理控制台不提供显示后台线程的选项。

appcfg request_logs 似乎也不是答案。

有人知道吗?

0 投票
2 回答
337 浏览

android - 如何在后台线程中反序列化 Activity 对象?

可能重复:
RuntimeException:无法在未调用 Looper.prepare() 的线程内创建处理程序

我在 Android 中使用 Java 序列化机制时遇到问题。从 UI 线程调用时它运行良好,但是当我尝试从某个后台线程使用它时,我得到:

由于项目性质,我无法反序列化 UI 线程中的所有内容(也应该可以在后台进行,因此 UI 不会停止响应)。

顺便提一句。当我尝试使用 SimpleXML 在后台反序列化某些内容时,也会发生同样的事情。

所以现在我们从不能在任何地方使用的 UI 线程进行反序列化(XML 和 Java 序列化)。

任何人都可以对这个问题有所了解吗?

编辑:

我正在使用以下代码来反序列化一个对象,它在从 UI 线程调用时运行良好。

编辑 2

正如下面的 EJP 评论中提到的,我正在反序列化一个 Activity 对象。所以我将我的问题更改为:如何在后台线程中反序列化 Activity 对象?由于性能问题(XML 反序列化大约需要 4 秒,而二进制反序列化少于 0.5 秒),我宁愿避免不反序列化这个对象。我知道重新设计我们的应用程序是可能的,但由于项目限制,而且它极端且不必要的复杂性,这不是一个真正的选择。每一次更大的改变都是极其痛苦的。

所以当问题不太清楚时 - 有没有人有一些想法?

感谢您的任何建议。

0 投票
2 回答
709 浏览

iphone - IOS后台工作

我有一个 iPhone 应用程序,例如用于 iPhone 的 facebook。我的应用程序必须连接我的服务器并定期每两个小时读取一次所有消息。我有一个线程来读取所有消息,但是当应用程序终止时,线程无法工作。线程能否独立于主委托运行,或者我如何找到解决此问题的方法?

0 投票
0 回答
269 浏览

ios - (iOS) Any thoughts on implementation of background thread to send periodic updates to server?

I am working on my first iOS app and looking for the best way to implement the communication channel between iOS client and the server. Basically, I need to have a background thread that would send updates to the server say every 5 minutes.

From what I googled so far I think I would need to use some combination of NSOperation and NSOperationQueue for background processing; also NSTimer for scheduling; and NSURLConnection for sending the update to server.

Does that sound about right? If somebody can point me to an example of how that might look like I would greatly appreciate it.

Thanks!

0 投票
2 回答
388 浏览

python - 尝试从 google.appengine.api 导入 background_thread(如示例)失败并出现 ImportError

简单地做...

...就像在官方文档中一样,对我来说失败了...

...从我的后端调用它时。

如何让它正确导入?