关灯 特大 直达底部
亲,双击屏幕即可自动滚动
正文 第220章 院士请指教


“检查下事件的分发线程。”



周浩然开始操作。



“Java的线程模型太垃圾了……”



乔海在旁边抱怨,下一刻,他就顿住了。



因为周浩然的操作太熟练了。



而且速度极快。



“找到了,就在这。”



周浩然伸手指着屏幕上的一段代码。



public class Particle extends Thread {



public void run(){



while(true){



repaint();//直接调用AWT绘图方法



try { sleep(100);}



catch(InterruptedException e){}}}}



“现在的Java语言有很多缺陷和漏洞,那位Java之父也未必知道,你看着他的书来编程,难免会遇到一些解决不了的Bug。”



这一刻,周浩然好像跟程院长换了身份。



好像他才是科学院院士、博士生导师,学科带头人、复旦大学计算机学院的院长。



所有人都顷刻震惊!



程院长脸色扶了扶眼镜,往前凑,使劲盯着这段代码。



周浩然笑道:“程院长,你这种大专家,就别来研究代码了,你都多大岁数了。”



程德昌难以置信,“你说的是对的?”



周浩然道:“肯定对啊,你们在用户线程里直接操作AWT组件,实际上,所有GUI操作都必须在系统事件线程执行。这是Java的设计缺陷。”



这其实不是什么太高深的难题。



二十年后,著作《Java并发编程实战》一书里,就把这个问题详细的给说清楚了。从那以后,全球开发者才明白这到底是怎么回事。



原来困扰多年都很难解决的困境,竟然是Java之父给弄错了。



放在当下这个年代,堪称绝杀!



周浩然笑着说:“其实也不怪你们,全世界多少开发者都被这个缺陷给困扰住了。回头我写一篇论文发出来,给全球的互联网行业发展做点微薄的贡献。”



“有办法解决吗?”



乔海发现有点冷场,就主动跟他沟通。



真尴尬啊!



堂堂的院士、博导、院长,在一个小年轻面前,跟个学生似的。



“简单。”



周浩然调整了输入法,开始敲键盘,修改代码。



主要是调用Runnable接口,调用EventQueue类API,调用invokeLater函数,把绘图操作抛回给系统事件队列。



修改过后,演示起来。



屏幕上的动态粒子恢复了流畅运动。



成功了!



“嘶!”



整个实验室,一片死静。



各自震惊。



好像都忘记了呼吸。



“掌声吧?”



还是程德昌院长见多识广,先镇定下来鼓掌。



然后,围着他们站成一圈的博士、硕士们,才开始热烈鼓掌。



乔海鼓掌最凶。



都有点热泪盈眶。



他现在终于明白妹妹为什么这段时间总在家里说“周浩然”这个名字了。



这还是人吗?



太强了吧?!<

本章未完,点击下一页继续阅读

(3/4)
  • 加入收藏
  • 友情链接