我是java的中间人。我正在与一家公司很新的公司合作,他们让我参加“使用真实示例在java中线程化概念”的会议,因为我没有动手进行线程化我可以准备幻灯片锄头线程可以使用{实现{1}}类或Thread
接口。
任何人都可以帮我解决线程及其实现的真实场景吗? 提前致谢
答案 0 :(得分:6)
我会推荐Brien Goetz的“Java Concurrency In Practice”。它讨论了除了Thread和Runnable之外的JDK添加的功能,它们将使您的生活更美好。
2016年,最好深入了解java.util.concurrency
包和JDK 8 lambda和并行流。没有人应该尝试使用原始Thread
编写多线程代码,除非他们知道他们正在做什么。我们得到了更好的抽象 - 使用它们。
答案 1 :(得分:3)
我可能会从Sun(现在是甲骨文)关于concurrency的优秀文档开始。
例如,您可以创建类似于银行应用程序的东西,其中您拥有共享数据结构(帐户),并且您有多个线程在该帐户上运行(执行提款和存款)。
答案 2 :(得分:1)
这些问题过于笼统而无法回答,但这里的细节很少。线程用于并行运行多个事物(理论上它只基于许多其他因素,如cpus数量,核心数量等)。自成立以来,多线程在JDK中经历了很多改进。您可以在此处阅读教程:http://download.oracle.com/javase/tutorial/essential/concurrency/
答案 3 :(得分:1)
现实生活中的例子可以是电信应用SCP(服务控制点),它接收大量请求(按每秒400的顺序)。处理请求的应用程序采用主从配置。有一个线程池,每个线程都在等待信号运行。
主线程,接收请求,请求数据发布在某个对象中,线程函数读取,然后线程发出信号运行。处理完成后,工作线程将返回到线程池。
可以有一个标志,告知线程的状态,例如忙,空闲,坏等。