亲爱的Java,为什么大多数教程看起来像是80';s

亲爱的Java,为什么大多数教程看起来像是80';s,java,concurrency,Java,Concurrency,我在大学里学过Java。我上次编写Java代码已经有4年了。我主要开发PHP应用程序。这次我需要一种支持更强大并发性的语言。我心想,一个小时后我就可以修改Java了,我已经准备好了 事实证明,没有一本人性化的教程(!!)可以轻易找到。我搜索了“java教程”,第一个结果要么没有有用的代码示例,要么!更复杂的搜索只会让我找到更混乱/过时的帖子。我只是喜欢PHP,因为它有很多优点 无论如何,为了避免这篇文章毫无意义,有谁能告诉我如何使用thread Executor Service 1)为几千个可运

我在大学里学过Java。我上次编写Java代码已经有4年了。我主要开发PHP应用程序。这次我需要一种支持更强大并发性的语言。我心想,一个小时后我就可以修改Java了,我已经准备好了

事实证明,没有一本人性化的教程(!!)可以轻易找到。我搜索了“java教程”,第一个结果要么没有有用的代码示例,要么!更复杂的搜索只会让我找到更混乱/过时的帖子。我只是喜欢PHP,因为它有很多优点

无论如何,为了避免这篇文章毫无意义,有谁能告诉我如何使用thread Executor Service 1)为几千个可运行程序排队,2)一次最多执行15个线程,以及3)如果某个线程失败,请重新排队,或者不将其从执行者池中移除


提前谢谢你

从2006年开始,但仍然相当不错:

从2006年开始,但仍然相当不错:

如果您不喜欢Times New Roman,只需将浏览器默认字体更改为Tahoma或类似字体即可


然后开始并单击下一个链接。然后是API文档,每个文档在介绍性文本中都有示例。例如。还有一些书,比如。

如果你不喜欢Times New Roman,只需将浏览器默认字体更改为Tahoma或类似的字体即可


然后开始并单击下一个链接。然后是API文档,每个文档在介绍性文本中都有示例。例如。还有一些书,比如。

这应该适合你

Executors.newFixedThreadPool(15) 
固定了15个线程,不是最大值。但是有15个空闲线程没什么大不了的

关于教程:好的教程很难写,通常没有奖励


关于并发性:这是非常困难的。人们花费数年时间只是为了了解基本情况。如果需要几个小时来理解并发性问题,您不应该感到惊讶。

这应该适合您

Executors.newFixedThreadPool(15) 
固定了15个线程,不是最大值。但是有15个空闲线程没什么大不了的

关于教程:好的教程很难写,通常没有奖励



关于并发性:这是非常困难的。人们花费数年时间只是为了了解基本情况。如果需要几个小时来理解并发问题,您不应该感到惊讶。

亲爱的Java,为什么您没有一个可以自动完成我的工作的函数呢?就个人而言,我会从阅读API开始:它非常清晰,没有广告。我个人不明白。为什么我花了30多分钟才弄明白如何合并2个int[]数组,而在php中,您只需在netbeans中键入“array_u”CTRL+Space,就可以访问array_merge函数,就完成了!?因为这些漂亮的函数要么在helper
Arrays
类中,要么在
Collections
接口的一部分中,在Oracle上的“Java教程”中有一个非常好的教程:Thank you@justkt,我打开它读到:)如果Java教程“不可能抽象”,那么就买“头先Java”。为了提高效率,您需要更好地了解运行库。亲爱的Java,为什么您没有一个可以自动完成我的工作的函数呢?就个人而言,我会从阅读API开始:它非常清晰,没有广告。我个人不明白。为什么我花了30多分钟才弄明白如何合并2个int[]数组,而在php中,您只需在netbeans中键入“array_u”CTRL+Space,就可以访问array_merge函数,就完成了!?因为这些漂亮的函数要么在helper
Arrays
类中,要么在
Collections
接口的一部分中,在Oracle上的“Java教程”中有一个非常好的教程:Thank you@justkt,我打开它读到:)如果Java教程“不可能抽象”,那么就买“头先Java”。为了提高效率,您需要更好地了解运行库。感谢您提供的链接-似乎比我目前找到的所有链接都有用!:)@Amer,那么问题可能不在于可用的教程,而在于你的google-fu。谢谢你的链接-似乎比我目前找到的所有链接都有用!:)@Amer,那么也许问题不在于可用的教程,而在于你的google fu。我认为《泰晤士报新罗马版》是问题之一:P还有,我想我被PHP中这么多功能的准备工作给宠坏了!现在了解如何使用ThreadPoolExecutor为线程分配超时,但不将它们完全从队列中删除。值得庆幸的是,PHP实际上无法与Java相媲美。这是一种超文本处理语言。设计时考虑到webdevelopment。网站开发者对好看的网站更敏感。另外,别忘了,在Java中,你有更多的第三方库可供选择,而且它们很容易集成。。。情不自禁:)我认为《泰晤士报新罗马版》是其中的一个问题:P还有,我想我被PHP中这么多功能的就绪所宠坏了!现在了解如何使用ThreadPoolExecutor为线程分配超时,但不将它们完全从队列中删除。值得庆幸的是,PHP实际上无法与Java相媲美。这是一种超文本处理语言。设计时考虑到webdevelopment。网站开发者对好看的网站更敏感。另外,别忘了,在Java中,你有更多的第三方库可供选择,而且它们很容易集成。。。情不自禁:)你说得对,没有奖励,但Sun和现在的Oracle需要更好地保护他们的产品。为什么不像PHP Symfony那样有一个“在10天内学习Java”的教程呢?我以前没有对并发进行过太多编码,所以这可能是我有点困惑的原因。我使用了您的建议,现在正在努力正确处理异常,而不是跳过执行其中一个线程。有什么想法吗?对于空闲线程,shutdown()方法应该清除