Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在基于Java的智能设备中,工作线程和主线程的使用是否会减少响应延迟或增加工作负载?

在基于Java的智能设备中,工作线程和主线程的使用是否会减少响应延迟或增加工作负载?
EN

Stack Overflow用户
提问于 2020-01-30 17:05:24
回答 2查看 498关注 0票数 0

主线程;执行初始应用程序代码。工作线程;执行耗时的后台任务。

但是工作线程和主线程在基于Java的智能设备中会减少响应延迟或增加工作负载吗?

EN

回答 2

Stack Overflow用户

发布于 2020-02-01 08:03:10

在我看来,将工作线程与主线程一起使用会增加基于Java的智能设备中的工作负载:

原因:

工作线程是连续的并行线程,它运行并接受消息或处理,直到给定的循环时间显式完成(关闭或终止)。当工作线程被创建时,它等待任务(进程或消息)。当它获取任务(处理器或消息)时,它开始在给定循环中处理给定的消息或处理器。任务运行(完成或终止)后,它将再次等待新任务。它将每隔几毫秒定期检查任务(流程或消息)的可用性。如果我们试图分配另一个任务,而它仍然忙于当前任务,那么它将抛出一个异常“已在运行任务!”Work Thread完全负责执行任务,它不会在未完成给定时间或循环的情况下释放给定任务。它也不允许另一个进程干扰。

票数 1
EN

Stack Overflow用户

发布于 2020-01-31 14:22:50

我想这会对你有帮助的。

“是的,将工作线程与主线程一起使用将减少响应延迟,线程允许更大规模和更高效率地利用多处理器体系结构。线程使用它们工作的操作系统的资源非常少。也就是说,线程不需要新的地址空间、全局数据、程序代码或操作系统资源。主线程负责应用程序启动后屏幕上发生的所有事情。您的应用程序UI的响应性,您不会阻塞UI线程。如果您要执行的操作不是即时的,则应确保在单独的工作线程中执行这些操作。”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59991028

复制
相关文章
Java线程池的使用及工作原理
在日常开发过程中总是以单线程的思维去编码,没有考虑到在多线程状态下的运行状况。由此引发的结果就是请求过多,应用无法响应。为了解决请求过多的问题,又衍生出了线程池的概念。通过“池”的思想,从而合理的处理请求。本文记录了Java中线程池的使用及工作原理,如有错误,欢迎指正。
程序员的时光001
2021/06/09
6410
Java线程池的使用及工作原理
Java---线程多(工作内存)和内存模型(主内存)分析
转载自 https://www.cnblogs.com/chihirotan/p/6486436.html
allsmallpig
2021/02/25
2K0
可穿戴设备在工作场合的风险正在增加
Centrify公司在2016年的RSA大会上提出了对“非托管可穿戴设备渗透到工作场所”的警告。 该公司经调查发现,69%的受访者不使用登录凭据,因为他们使用了可穿戴设备。考虑到其中56%的受访者使用可穿戴设备登陆应用程序,这种脆弱的安全性导致了一个令人担忧的局面。 Centrify公司首席产品官Bill Mann评论表示,“可穿戴设备看上去是很私密的”,给用户造成了一个错觉,即由于它们总是靠近自己的身体,它们不太可能被别人操纵。但是,黑客们不需要在物理上连接这些设备,他们只需要用户的凭据。 当然,这就是类
人工智能快报
2018/03/13
7680
MFC 用户线程和工作者线程
用户线程 AfxBeginThread 创建线程 AfxEndThread 结束线程
ClearSeve
2022/02/10
3810
(一)主线程与工作线程的分工
服务器端为了能流畅处理多个客户端链接,一般在某个线程A里面accept新的客户端连接并生成新连接的socket fd,然后将这些新连接的socketfd给另外开的数个工作线程B1、B2、B3、B4,这些工作线程处理这些新连接上的网络IO事件(即收发数据),同时,还处理系统中的另外一些事务。这里我们将线程A称为主线程,B1、B2、B3、B4等称为工作线程。工作线程的代码框架一般如下: while (!m_bQuit) { epoll_or_select_func(); hand
范蠡
2018/04/04
2K0
java线程池,工作窃取算法
前言 在上一篇《java线程池,阿里为什么不允许使用Executors?》中我们谈及了线程池,同时又发现一个现象,当最大线程数还没有满的时候耗时的任务全部堆积给了单个线程, 代码如下: ThreadP
落跑架构师M
2020/02/11
8890
java线程池,工作窃取算法
java线程池,工作窃取算法
前言 在上一篇《java线程池,阿里为什么不允许使用Executors?》中我们谈及了线程池,同时又发现一个现象,当最大线程数还没有满的时候耗时的任务全部堆积给了单个线程, 代码如下: ThreadP
落跑架构师M
2019/12/30
8020
java线程池,工作窃取算法
Windows线程漫谈界面线程和工作者线程
每个系统都有线程,而线程的最重要的作用就是并行处理,提高软件的并发率。针对界面来说,还能提高界面的响应力。
全栈程序员站长
2022/07/15
6950
Java线程池的工作原理,好处和注意事项
、 一个线程池管理了一组工作线程, 同时它还包括了一个用于放置等待执行 任务的任务队列(阻塞队列) 。
desperate633
2018/08/23
3490
Java面试必问之线程池的创建使用、线程池的核心参数、线程池的底层工作原理
大家在面试过程中,必不可少的问题是线程池,小编也是在面试中被问啥傻了,JUC就了解的不多。加上做系统时,很少遇到,自己也是一知半解,最近看了尚硅谷阳哥的课,恍然大悟,特写此文章记录一下!如果还不了解线程池的小伙伴,一定要认真看完,你会有收获的哈!!
掉发的小王
2022/07/11
2800
Java面试必问之线程池的创建使用、线程池的核心参数、线程池的底层工作原理
线程池 execute() 的工作逻辑
最近在看《Java并发编程的艺术》回顾线程池的原理和参数的时候发现一个问题,如果 corePoolSize = 0 且 阻塞队列是无界的。线程池将如何工作?
用户2060079
2018/10/11
1.3K0
线程池是怎样工作的
我们在工作中或多或少都使用过线程池,但是为什么要使用线程池呢?从他的名字中我们就应该知道,线程池使用了一种池化技术,和很多其他池化技术一样,都是为了更高效的利用资源,例如链接池,内存池等等。
Java3y
2019/08/27
4150
线程池是怎样工作的
关于Android中工作者线程的思考
本文为 InfoQ 中文站特供稿件,首发地址为:http://www.infoq.com/cn/articles/android-worker-thread 如需转载,请与 InfoQ 中文站联系。
技术小黑屋
2018/09/05
7680
Java多线程详解4【面试+工作】​
Java多线程详解【面试+工作】 Java线程:并发协作-死锁 线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。 发生死锁的原因一般是两个对象的锁相互等待造成的。 在《Java线程:线程的同步与锁》一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里给出一个完整的例子。 /** * Java线程:并发协作-死锁 * * @author Administrator 2009-11-4 22:06:13 */ publicclass Test {
Java帮帮
2018/03/15
9240
Java多线程详解6【面试+工作】
Java多线程详解【面试+工作】 Java线程:新特征-原子量 所谓的原子量即操作变量的操作是“原子的”,该操作不可再分,因此是线程安全的。 为何要使用原子变量呢,原因是多个线程对单个变量操作也会引起一些问题。在Java5之前,可以通过volatile、synchronized关键字来解决并发访问的安全问题,但这样太麻烦。 Java5之后,专门提供了用来进行单变量多线程并发安全访问的工具包java.util.concurrent.atomic,其中的类也很简单。 下面给出一个反面例子(切勿模仿): impo
Java帮帮
2018/03/15
5990
Java多线程详解6【面试+工作】
Java多线程详解5【面试+工作】
Java多线程详解【面试+工作】 Java线程:新特征-信号量 Java的信号量实际上是一个功能完毕的计数器,对控制一定资源的消费与回收有着很重要的意义,信号量常常用于多线程的代码中,并能监控有多少数目的线程等待获取资源,并且通过信号量可以得知可用资源的数目等等,这里总是在强调“数目”二字,但不能指出来有哪些在等待,哪些资源可用。 因此,本人认为,这个信号量类如果能返回数目,还能知道哪些对象在等待,哪些资源可使用,就非常完美了,仅仅拿到这些概括性的数字,对精确控制意义不是很大。目前还没想到更好的用法。 下面
Java帮帮
2018/03/15
8970
java中精灵线程(Daemon)或守护线程和普通线程有什么区别
马克-to-win:Daemon英文意思是希腊神话中半人半神的精灵,守护神。在java中,"精灵守护Daemon线程"就是运行在程序后台的线程,一般被用于在后台为其它线程提供服务。既然它在后台运行,当前台线程(前几节学习的线程)运行完,主体程序就结束了,理所当然该后台线程也应该随之结束了。相对来讲,前面几节我们讲的线程是"用户线程",这两种线程技术上来讲有什么分别呢?java官方文档中大致这样描述:The Java Virtual Machine continues to execute threads until All threads that are not daemon threads have died。 这句话的含义就是:用户线程不完,jvm系统就不完,要是想只运行"精灵Daemon线程",对不起jvm不给面子,不伺候,就关闭了,不给"精灵Daemon线程"们单独运行的机会。这句话比较难理解,我换一句话来说这件事。当一个应用程序的所有非精灵线程停止运行时,即使仍有精灵线程还在运行,该应用程序也将终止,反过来,只要还有非精灵线程在运行,应用程序就不会停止。我们可以通过setDaemon(boolean on)来设置某线程为精灵线程。用isDaemon()来判断某线程是否为精灵线程或守护线程。注意:要想设置一个线程为精灵守护线程,setDaemon必须在start前调用。
马克java社区
2021/04/20
9260
java中精灵线程(Daemon)或守护线程和普通线程有什么区别
JUC多线程:线程池的创建及工作原理
线程池主要是为了解决 新任务执行时,应用程序为任务创建一个新线程 以及 任务执行完毕时,销毁线程所带来的开销。通过线程池,可以在项目初始化时就创建一个线程集合,然后在需要执行新任务时重用这些线程而不是每次都新建一个线程,一旦任务已经完成了,线程回到线程池中并等待下一次分配任务,达到资源复用的效果。
全栈程序员站长
2022/06/29
4230
JUC多线程:线程池的创建及工作原理
java线程池executorservice是否结束_java线程池怎么使用
ExecutorService是Java中对线程池定义的一个接口,它java.util.concurrent包中,在这个接口中定义了和后台任务执行相关的方法:
全栈程序员站长
2022/10/01
1.1K0
java线程池executorservice是否结束_java线程池怎么使用
(译)Kubernetes 中的用户和工作负载身份
本文中我们会试着解释,在 Kubernetes API Server 上如何对用户和工作负载进行认证的问题。
崔秀龙
2022/11/23
2.1K0
(译)Kubernetes 中的用户和工作负载身份

相似问题

在多线程中cpu工作负载是否线性增加?

11

java中的工作线程和守护线程

20

Java多线程:扩展复杂的工作负载

13

增加java中单个工作线程的堆栈空间

20

休眠工作线程会导致主gui冻结。

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档