社区
进程/线程/DLL
帖子详情
工作中遇到一难题,线程池情况下如何保证任务队列中的任务顺序执行?(只有20分 见谅)
wanglovec
2014-10-15 10:48:24
RT,很明显 一般的 线程池 实现中 会对 取任务的 代码加锁,也就是 线程会排队取出任务
但取出任务后 ,任务的执行 就是乱序了。
现在问题来了, 我需要这些任务按顺序执行,也就是先取出的任务 先执行完毕。
该如何实现呢 ?求指教!
...全文
816
5
打赏
收藏
工作中遇到一难题,线程池情况下如何保证任务队列中的任务顺序执行?(只有20分 见谅)
RT,很明显 一般的 线程池 实现中 会对 取任务的 代码加锁,也就是 线程会排队取出任务 但取出任务后 ,任务的执行 就是乱序了。 现在问题来了, 我需要这些任务按顺序执行,也就是先取出的任务 先执行完毕。 该如何实现呢 ?求指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shenyi0106
2014-10-16
打赏
举报
回复
鉴于你的需求,这里不建议你用线程池(多线程),用单线程 + 缓冲队列 来处理,这样可以避免很多不必要的锁,效率绝对比你用多线程要高很多
精分患者
2014-10-16
打赏
举报
回复
引用 1 楼 jiangsheng 的回复:
顺序执行那还要线程做什么?线程是并行执行的。 任务之间需要同步的话,那是你在把任务放到线程池之前需要做的事情。
顶楼上,同样的如果是按顺序走,为何不直接弄成单线程的??
mi73nai595
2014-10-16
打赏
举报
回复
虽然不太懂,但是我觉得楼上说的有道理!
蒋晟
2014-10-16
打赏
举报
回复
顺序执行那还要线程做什么?线程是并行执行的。 任务之间需要同步的话,那是你在把任务放到线程池之前需要做的事情。
wanglovec
2014-10-16
打赏
举报
回复
楼上几位说的有道理,我的想法 是提高效率。
基于SpringBoot+Vue+Quartz构建
分
布式
任务
调度系统
在我们的日常开发
中
,各种大型系统的开发少不了
任务
调度,简单的单机
任务
调度已经满足不了我们的系统需求,复杂的
任务
会让程序猿头疼, 所以急需一套专门的
任务
管理系统帮助我们去管理定时
任务
,本课程采用时下最火的技术架构,SpringBboot2.0+Vue.js+Quartz2.2完成一个复杂
任务
的管理系统,通过该系统可以管理我们日常各种
任务
,包括单
任务
,复杂拓扑结构
任务
等等。本课程带大家实现一个
任务
调度系统,该系统可以直接用到生产环境,其商业价值极高。该系统是一个完整可用的系统,可以满足大部
分
的
任务
调度管理,同时有
任务
输出监控,开发人员可以实时查看
任务
执行
情况
,非常的强大。当然大家可以根据自己公司的
情况
继续扩展相关功能。学完该课程,大家可以熟练掌握、深入理解和使用SpringBoot,Quartz,Vue.js等技术。课程所用到的开发环境开发工具:IDEA、WebStorm课程包含的技术:SpringBoot2.0.2.RELEASEMaven、JPA、Quartz2.2.3多线程、
队列
Vue.JS、Webpack、Nodejs等企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业解决方案。 版权归作者所有,盗版将进行法律维权。
56道java基础必“背“面试题(备战
20
24金三银四),java面试
遇到
的技术
难题
类: 抽象类: 不能通过new关键创建对象方法: 抽象方法: 只有声明没有实现注意:1.抽象类
中
一定含有抽象方法 不对2.存在抽象方法类一定时抽象类 对3.抽象类
中
存在构造方法 对4.抽象类
中
因为不能通过new创建对象,因此类
中
没有构造方法 不对5.抽象类
中
构造方法用来干什么?用来为子类继承时创建子类对象用的6.String 类能不能被继承?不能被继承 final 关键字为什么使用final关键字修饰?
绝了!美团大佬手写并发原理笔记,由浅入深剖析JDK源码。
作为开发者,需要仔细设计线程之间的互斥与同步,稍不留心,就会写出非线程安全的代码。在JDK 1.5发布之前,Java只在语言级别上提供一些简单的线程互斥与同步机制,也就是synchronized关键字、wait与notify。如果
遇到
复杂的多线程编程场景,就需要开发者基于这些简单的机制解决复杂的线程同步问题。而从JDK 1.5开始,并发编程大师Doug Lea奉上了一个系统而全面的并发编程框架——JDK Concurrent包,里面包含了各种原子操作、线程安全的容器、
线程池
和异步编程等内容。
直击灵魂,美团技术官手撸并发原理笔记,由浅入深剖析JDK源码
并发编程 并发编程这四个字想必大家最近都在网上看到过有很多的帖子在讨论。我们都知道并发编程可选择的方式有多进程、多线程和多协程。在Java
中
,并发就是多线程模式。而多线程编程也一直是一个被广泛而深入讨论的领域。如果
遇到
复杂的多线程编程场景,大多数
情况
下我们就需要站在巨人的肩膀上利用并发编程框架——JDK Concurrent包来解决相关线程问题。 Concurrent包很复杂吗? 相信很多人对于Concurrent并发包都是一知半解,更别说Concurrent包源码了。(大牛另当别论)可以说要
直击灵魂!美团大牛手撸Java并发原理笔记,由浅入深剖析JDK源码
并发编程 并发编程这四个字想必大家最近都在网上看到过有很多的帖子在讨论。我们都知道并发编程可选择的方式有多进程、多线程和多协程。在Java
中
,并发就是多线程模式。而多线程编程也一直是一个被广泛而深入讨论的领域。如果
遇到
复杂的多线程编程场景,大多数
情况
下我们就需要站在巨人的肩膀上利用并发编程框架——JDK Concurrent包来解决相关线程问题。 Concurrent包很复杂吗? 相信很多人对于Concurrent并发包都是一知半解,更别说Concurrent包源码了。(大牛另当别论)可以说要是C
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章