线程在Java Web项目中有哪些应用?

shaft_V 2016-07-12 09:33:06
请问路过的各位,在Java Web项目中可以用线程实现什么样的功能? 能稍微讲讲吗?谢谢了!
...全文
2339 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
pgh_1947 2017-08-16
  • 打赏
  • 举报
回复
什么叼....
shaft_V 2016-07-25
  • 打赏
  • 举报
回复
引用 16 楼 fengspg 的回复:
可以每个盘开一个线程
噢,成功了,给自定义线程一个public String disk属性。
shaft_V 2016-07-25
  • 打赏
  • 举报
回复
引用 16 楼 fengspg 的回复:
可以每个盘开一个线程
谢谢。现在有一个showFile(String disk)的方法可以打印出特有文件。 那么每个盘开一个线程?请问怎么把disk传到run方法里?
Intboy 2016-07-20
  • 打赏
  • 举报
回复
引用 14 楼 shaft_V 的回复:
[quote=引用 13 楼 fengspg 的回复:] 想快速查询所有mp4文件,开若干个线程(一个磁盘开一个?),然后结果组合在一起。
磁盘有多大啊,你这直接读文件名就可以了吧,应该很快。[/quote] 就是想知道如果这种事情要是用多线程一起完成该怎么做。。。 (还是说一件事情一般就开一个线程做?)谢谢。[/quote] 可以每个盘开一个线程
shaft_V 2016-07-19
  • 打赏
  • 举报
回复
引用 11 楼 fengspg 的回复:
查询某磁盘目录下所有文件(所有.mp4文件),量很大,挺慢的,如果要使用多个线程,请问该怎么做?
问题应该是你要做什么[/quote] 想快速查询所有mp4文件,开若干个线程(一个磁盘开一个?),然后结果组合在一起。
kky2010_110 2016-07-19
  • 打赏
  • 举报
回复
异步处理,任务分解等等
shaft_V 2016-07-19
  • 打赏
  • 举报
回复
引用 13 楼 fengspg 的回复:
想快速查询所有mp4文件,开若干个线程(一个磁盘开一个?),然后结果组合在一起。
磁盘有多大啊,你这直接读文件名就可以了吧,应该很快。[/quote] 就是想知道如果这种事情要是用多线程一起完成该怎么做。。。 (还是说一件事情一般就开一个线程做?)谢谢。
Intboy 2016-07-19
  • 打赏
  • 举报
回复
引用 12 楼 shaft_V 的回复:
[quote=引用 11 楼 fengspg 的回复:] 查询某磁盘目录下所有文件(所有.mp4文件),量很大,挺慢的,如果要使用多个线程,请问该怎么做?
问题应该是你要做什么[/quote] 想快速查询所有mp4文件,开若干个线程(一个磁盘开一个?),然后结果组合在一起。[/quote] 磁盘有多大啊,你这直接读文件名就可以了吧,应该很快。
Intboy 2016-07-18
  • 打赏
  • 举报
回复
引用 9 楼 shaft_V 的回复:
[quote=引用 1 楼 bichir 的回复:] 一个请求就是一个线程,这个线程不需要我们来控制,WEB容器自己实现,这是第一个应用。 我们也可以在web中new线程来做我们的事。比如,当我有一个很耗时的操作,像统计排名之类的功能。当用户在web上点击排名时,由于这个计算量太大,可能要计算3~5分钟或更久。这时我们会在servlert中new一个线程来做这个事情,这样用户就可以点击排名后去做其他的事,等排名出来现通知他。如果不new线程当用户点排名时,浏览器就会一直卡在这里,一个圈圈转啊转的,就是不出来。所以我们可以new线程来做耗是任务。还有很多比如,定时任务、WEB版的爬虫程序、监听等
查询某磁盘目录下所有文件(所有.mp4文件),量很大,挺慢的,如果要使用多个线程,请问该怎么做?[/quote] 问题应该是你要做什么
oMadison 2016-07-17
  • 打赏
  • 举报
回复
web项目的多线程已经由服务器提供了,不建议在web项目中私开线程。
Intboy 2016-07-12
  • 打赏
  • 举报
回复
你要做什么就可以做什么,线程本来就是出来任务的
shaft_V 2016-07-12
  • 打赏
  • 举报
回复
引用 1 楼 bichir 的回复:
这时我们会在servlert中new一个线程来做这个事情,这样用户就可以点击排名后去做其他的事,等排名出来现通知他。如果不new线程当用户点排名时,浏览器就会一直卡在这里,一个圈圈转啊转的,就是不出来。所以我们可以new线程来做耗是任务。还有很多比如,定时任务、WEB版的爬虫程序、监听等
new线程的话是在controller类方法里面写的吧。 了解了。加快速度。 谢谢您!
bichir 2016-07-12
  • 打赏
  • 举报
回复
一个请求就是一个线程,这个线程不需要我们来控制,WEB容器自己实现,这是第一个应用。 我们也可以在web中new线程来做我们的事。比如,当我有一个很耗时的操作,像统计排名之类的功能。当用户在web上点击排名时,由于这个计算量太大,可能要计算3~5分钟或更久。这时我们会在servlert中new一个线程来做这个事情,这样用户就可以点击排名后去做其他的事,等排名出来现通知他。如果不new线程当用户点排名时,浏览器就会一直卡在这里,一个圈圈转啊转的,就是不出来。所以我们可以new线程来做耗是任务。还有很多比如,定时任务、WEB版的爬虫程序、监听等
shaft_V 2016-07-12
  • 打赏
  • 举报
回复
引用 1 楼 bichir 的回复:
一个请求就是一个线程,这个线程不需要我们来控制,WEB容器自己实现,这是第一个应用。 我们也可以在web中new线程来做我们的事。比如,当我有一个很耗时的操作,像统计排名之类的功能。当用户在web上点击排名时,由于这个计算量太大,可能要计算3~5分钟或更久。这时我们会在servlert中new一个线程来做这个事情,这样用户就可以点击排名后去做其他的事,等排名出来现通知他。如果不new线程当用户点排名时,浏览器就会一直卡在这里,一个圈圈转啊转的,就是不出来。所以我们可以new线程来做耗是任务。还有很多比如,定时任务、WEB版的爬虫程序、监听等
查询某磁盘目录下所有文件(所有.mp4文件),量很大,挺慢的,如果要使用多个线程,请问该怎么做?
Intboy 2016-07-12
  • 打赏
  • 举报
回复
引用 4 楼 shaft_V 的回复:
[quote=引用 3 楼 fengspg 的回复:] 你要做什么就可以做什么,线程本来就是出来任务的
谢谢。请问遇到过什么具体的例子(代码)吗?[/quote] 线程池,异步任务,web请求等等等等
Intboy 2016-07-12
  • 打赏
  • 举报
回复
引用 5 楼 u013185616 的回复:
[quote=引用 3 楼 fengspg 的回复:] 你要做什么就可以做什么,线程本来就是出来任务的
你头像太过分了,我刚刚都准备说一堆了,结果全忘了。[/quote] 这头像找了好久好久,
ylovep 2016-07-12
  • 打赏
  • 举报
回复
web项目 用到的一般有定时器,其他在业务上的还没有具体遇到过
I,Frankenstein 2016-07-12
  • 打赏
  • 举报
回复
引用 3 楼 fengspg 的回复:
你要做什么就可以做什么,线程本来就是出来任务的
你头像太过分了,我刚刚都准备说一堆了,结果全忘了。
shaft_V 2016-07-12
  • 打赏
  • 举报
回复
引用 3 楼 fengspg 的回复:
你要做什么就可以做什么,线程本来就是出来任务的
谢谢。请问遇到过什么具体的例子(代码)吗?
从零开始讲述Java线程的核心知识,通过板书和一步一步画图的方式,引领大家逐步去理解和掌握这些知识;并深入分析源码实现,理解背后的实现原理,知其然还要知其所以然。从多线程核心基础讲起,理解线程的风险,多种创建线程的方式;再到深入理解线程的状态;然后是线程的基本操作。系统、深入、快速上手实现多线程。 课程目标:    快速上手掌握Java线程的经典课程,    系统、全面、深入掌握Java线程的核心知识主讲老师:CC老师     20年Java开发和使用经验,多年的首席架构师和CTO,畅销原创书籍《研磨设计模式》的作者。         参与和领导了上百个大中型项目的设计和开发,在互联网应用系统架构、系统设计、    应用级框架和中间件开发等方面具有很多经验和领悟。    更为难得的是,入行20年,仍然奋战在技术一线,深知一线架构师需要掌握哪些技术、    掌握到什么程度、一线架构设计会遇到哪些坑、如何才能做出最合适的架构设计,经验最难得!适应人群:    想要系统、深入学习Java线程    已有Java开发基础,想要快速掌握Java线程    补充Java线程知识,为进入一线大厂做准备学习方式:随到随学课程内容:第一节课:系统理解Java并发编程的知识体系    1:为什么要掌握Java并发编程    2:整个课程的目标    3:整个课程的学习内容第二节课:线程必备基础知识    1:理解线程是什么,理解进程,图示    2:理解轻量级的含义    3:理解时序调度,线程是时序调度的基本单元,图示    4:理解调度方式:抢占式,图示    5:理解我们写的程序基本都是多线程应用,图示    6:理解并发和并行,图示    7:为什么需要线程第三节课:线程的风险    1:线程安全性问题,图示    2:线程的活跃度问题:死锁、饥饿、活锁,图示    3:线程的性能问题,这里主要是线程间切换 上下文的开销第四节课:创建线程的方式之一    1: 代码演示:实现Runnable接口的方式来创建线程    2:学习Thread类的方法和属性的应用    3:学习Thread类的源码第五节课:创建线程的方式之二    1:继承Thread的方式来创建线程    2:继续学习Thread类的源码,分析线程初始化过程    3: 代码演示:演示ThreadGroup    4: 代码演示:演示daemon线程,理解daemon线程和主线程的关系第六节课:创建线程的方式之三    1: 代码演示:匿名内部类的方式来创建线程    2:继续学习Thread类的源码,分析run方法的调用过程    3:代码演示:callable的方式来创建线程,带返回值    4: 学习FutureTask的部分源码,分析run方法到call方法的调用过程第七节课:线程状态详解    1:通过Thread源码来查看线程状态的定义    2:一步一步画图,讲述状态之间的变迁第八节课:线程的基本操作sleep 和yield    1:阅读Thread源码    2:代码演示:sleep的使用    3:代码演示:yield的使用    4:sleep和yield的对比理解第九节课:线程的基本操作join和interrupt    1:阅读Thread源码    2:代码演示:join的使用    3:代码演示:interrupt的使用这里是《Java并发编程与源码分析》的第一部分——讲述多线程核心基础实现快速上手多线程的经典之作   

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧