jython多线程

nas*_*sio 16 python java multithreading jython

几个月前我开始学习python,然后我找到了Jython.

线程在Jython中是否正常工作,因为它没有GIL?如果是这样,你能推荐一本关于并发(线程)的好书吗?

mik*_*ent 6

我在多线程上遇到的最好的书是"Java Concurrency in Practice".它非常专注于Java线程并发,当你开始理解并发引入的问题和可能性时,它既令人羞愧又令人兴奋.几年前我买的副本在编码中有一些勘误,这加剧了已经具有大脑挑战性的主题:在这里查看勘误表:http://jcip.net/errata.html.

虽然专为希望冒险进入并发性的Java开发人员而设计(其中包括任何使用过任何类型GUI界面的人),但我确信本书中概述的技术难点和细微之处适用于任何并发实现.

顺便说一句,我也喜欢Jython,并且可以确认你可以用Java做的任何并发性的事情你可以在Jython中做.但是,有一个警告:并发可以用于异步编程(包括GUI)和/或性能.如果对于后者你有问题,在我看来:根据我的经验,Jython运行速度比同等的Java程序慢10倍.

这意味着你要求更高的Jython模块必须调用Jython以外的其他东西来完成数字运算.与此同时,到目前为止,Jython还没有Python的多处理模块,因此进程间通信已经完成,除非你冒险进入RMI的可怕领域.如果采取这种选择,你就比我更像是一个男人/女人.但一切都还可以:请参阅http://www.jython.org上的 "Jython权威指南" ......第19章是一种对并发性的口哨停止介绍,第10章是关于集成Java和Jython(暗示:这太荒谬了.

  • 有趣的是:快速浏览Jython网站显示,就在10天前,2012年5月17日,版本2.7a1发布了......一个"Alpha"版本.这应该包含多处理模块,它随Python 2.6一起提供.Wd很有意思检查一下:如果是这样的话,它可能会给你一个令人兴奋的选择,即链接Jython和CPython进程(稍后更新:遗憾的是,目前似乎并非如此 - 当我尝试时,模块名称"multiprocessing"无法识别)...

PS最后一句话:大多数对这些事情知之甚多的专家比我说摩尔定律被阿姆达尔定律的进口所取代,简而言之就是编程稳定和可扩展的真正并发程序的艰巨挑战将是不可避免的.未来.使用聪明的代码分析工具究竟是多么容易实现真正的(即线程)并发性我不能说但是对这个主题的投资以及由并发性强加的引人入胜的智能新学科可能会得到回报......如果你喜欢挑战