![]() |
1
4
线程对于大多数ui工作都是至关重要的。否则,任何时候你想做一个计算或任何需要一段时间的事情,你将冻结用户界面。 因此,大多数gui框架都有处理事件循环(和一些绘图活动)的ui线程,但是大多数用户代码发生在另一个线程中。 线程也有助于偶尔检查事物或对系统状态作出临时性的改变。 |
![]() |
2
4
(不太严肃的回答)我喜欢在任何情况下使用线程,在这种情况下,我希望系统以有趣和不明显的方式崩溃,同时对于我如何让问题溜走仍有合理的可否认性。 或者,用拉斯莫斯·勒多夫的话说,“人们不够聪明,无法编写线程安全的代码”。 |
![]() |
3
2
在服务器中处理并发客户端请求。 |
![]() |
4
2
线程是大多数i/o绑定应用程序和任何相当复杂的服务器端应用程序的基础。考虑一个应用程序,它充当多个数据源的信息交换。您需要能够在独立线程中处理这些信息,特别是如果此数据上的操作受到延迟或需要相当多的时间来完成。 在大多数情况下,线程通常有助于将应用程序中的各种关注点解耦。在大多数情况下,对相关方的单线调度事件将无法很好地扩展。 除了最简单的应用之外,所有的线程都需要某种程度的线程。 |
![]() |
5
1
最常用的是响应式ui,比如显示长时间运行的后台任务的进度条。 |
![]() |
6
1
后台任务:
其他用途:
|
![]() |
7
1
我知道大部分时间我使用线程,我实际上想做的是启动一些异步的工作块——也就是说,我希望在神话的“背景”中发生一些事情。不幸的是,考虑线程并不是做“启动一堆工作”的正确抽象级别,因为你没有把一些东西放到后台。使用线程API,您将创建另一个将进程作为进程的原始线程的兄弟姐妹运行的地方,并且需要担心它们之间共享什么信息、以及如何等等。这就是为什么我喜欢新的api,比如cocoa
|
![]() |
8
0
扫描目录以查找更改的文件。在每个子目录中生成一个线程,然后在一个线程中生成线程要快得多。 |
![]() |
9
0
我们已经在多个应用程序中使用了线程,其中主屏幕由适合当前登录用户的工作流组成。 获取工作流可能需要大量时间。工作流的各个部分由不同的线程加载。对于我们的主应用程序bp/gena,大约触发了11个线程,每个线程运行一个数据库查询。
当做,
|
![]() |
10
0
当我想用一堆我知道需要很长时间的资源做一些事情时,当处理元素的工作之间没有相互依赖关系时,特别是当瓶颈不是本地资源(如磁盘的CPU),我最常用线程。例如,如果我要检索一堆url,那么每个url都将进入一个单独的线程。 |
![]() |
11
0
这是一个非常普遍的问题。我使用“线程”来消除ui线程的潜在阻塞工作,无论该工作是本地的还是网络的i/o,或者该工作是计算密集型任务,这些任务往往会“阻塞”取决于运行它的硬件。 我认为询问一个特定的问题或模式有助于减轻它和对线程的适用性,即:
这是一个相当广阔的空间,更清晰可能会有帮助。 |
![]() |
12
0
我构建web应用程序,所以我编写的所有代码都在多个线程中执行。 |
![]() |
13
0
我们的应用程序是一个web服务,因此我们为每个请求生成一个线程。从技术上讲,jni是从线程派生出来的,但是代码必须是线程安全的。我们已经遇到了一些有趣的(FSVO)问题,既有Hibernate和基于ESB的基础设施,但在大多数情况下,在ThreadLocals保持事物,并在子系统入口点上同步已经很好。我们还没有尝试过几十个同时请求,所以我们可能还没有确定一些比赛条件,但总体来说,我们表现出色并给出正确的答案。 |
![]() |
14
0
我编写了一个函数,它生成一个线程,该线程每隔一段时间(从扬声器)发出哔哔声,提醒测试操作员需要注意一些事情。响应模式对话框后,线程将被终止。 |
![]() |
15
0
与工作无关,但我在 Netflix Prize 是的。我的电脑有8核和20GB的内存…只运行一个线程是完全浪费,所以我通常启动16个线程左右。 |
![]() |
user107586 · 如何处理等待句柄不会导致无限循环? 6 月前 |
![]() |
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 6 月前 |
![]() |
BenjiFB · C#内存缓存:在一次操作中追加到列表? 6 月前 |
![]() |
András Takács · Python多线程问题 10 月前 |
|
András Takács · Python多线程错误 10 月前 |