bookmark_border【未解决】神出鬼没的多线程bug

为了提高效率,我用java自带的线程池ThreadPoolExecutor把一个研究工具的处理过程做成了多线程,在研究室的四核cpu8G内存的电脑上跑效果拔群。只是,时不时的会出现cpu使用率为0的卡死现象,很难触发,无法重现,目测为多线程bug。(多线程新手一个,目测也没什么依据^_^b)

我觉得,如果是我的程序死循环了,cpu应该100%的,但是没有。

程序我设了超时后改变控制循环的bool型flag,应该是可以确保线程退出的,但是卡住了。

往线程池里填完任务以后,等待任务完成的代码是这样的:

ThreadPoolExecutor executor = new ThreadPoolExecutor(…)

executor.shutdown();

executor.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS);

我觉得吧,应该是程序在await这里永远的等下去了。所以才会没有反应也不占cpu。

因为问题难以重现,我也想不出来应该在哪里设断点……Orz

所以,这个【未解决】恐怕要挂很久了。

要命的是,这个程序事关一个评测(比赛),时限4天。我初步计划花38小时无人值守让程序自己跑的。现在出了这个bug,我就只能时不时起来看看它,死了得关掉重开。不仅麻烦而且浪费宝贵的时间,真是……恨自己学艺不精啊!当年小勤同志告诉我,java学到后面是XXX,再后面是XXX,在后面是XXX,在后面是多线程。果然是很后面的技术,平时根本用不到,没经验。真正用起来了出了错难以调试,难学难提升。 不过,挺有趣的^_^

明天将(基本上)决定我是不是需要多浪费一年生命找工作,我得去琢磨我的面试草稿了。这个程序题很有挑战,但我没空,时间不合适,也没有很好的条件去解决这个问题(4核全100%运转的电脑,是很卡的,基本上什么也干不了……)。所以,以后吧。(嗯,拖延的借口越编越真实了)

executor.shutdown();

bookmark_border【反省】代码高亮,wordpress永远的痛

最近在翻译CEGUI0.7.X版的入门教程,卡在一处xml代码高亮那里,格式问题调试了加起来有10个小时了吧,还是解决不了,于是果断把翻译到一半的整篇文章删除了,以防我继续在这上面浪费时间。

遇到小问题就想从根本上彻底解决,这在做高考数学习题方面也许是个好倾向,但是在处理日常琐事上就是很不理性的冲动了。代码高亮是可有可无的东西,它的优先级没有高到值得我花10个小时去处理(不过还是花出去了……我X!)

bookmark_border【编程】时间到用时方恨少啊!

临出门前写一点。

我真正完整看下来的别人写的代码很少,看的大多是不到100行的实现某个功能的实例代码。就这样,长期闭门造车的结果是我养成了一些糟糕的写代码的习惯:没有统一的命名规范,代码不加注释或代码修改后不更改注释(陷阱注释!),程序稍微大一点(1w行以上)就不能很好的控制其组织结构,然后还有就是最近一年开始写C++时遇到的,呃,好像叫“污染公共命名空间”?就是我在全局范围内取了一些很霸道的变量名——OK,ERROR,MessageBox什么的……

今天我尝试给自己的SDL程序里装上CEGUI,结果编译的时候因为我霸道的命名方式导致了很多冲突。VC没有eclipse那么方便的重构工具来一件修改变量名,我只能一个一个搜索下来修改了。可是接下来我还要去参加招聘会,没时间了。等回来再说吧。

这算是我第一次真正呢为自己的编程习惯而吃苦头吧,如果不算注释问题带给我的种种隐形影响的话。嗯嗯,引以为戒,引以为戒。

bookmark_border【翻译】 不能饶恕用名字做自称的女人 (出自《安达充——世阿弥一般的存在》)

原文出处:《安达充——世阿弥一般的存在》

翻译:基拉铃妖

艺人明石家秋刀鱼先生,从以前开始就一直公开表示《棒球英豪》里的浅仓南是他理想中的女孩。如今50多岁了也没有改变。在电视节目上,他不时会提起这个neta,每当这时,台下的女性观众们就会报以似笑非笑的回应。见过这一幕的人应该很多吧。

我认为那种笑里有两种含义。

第一点,“都这么大岁数了还小南小南的……”,因为年龄而取笑他。第二点,“竟然喜欢小南这种人……”,觉得抱有这种想法的男人很可笑。

小南在男性观众里有着绝高的人气,但是在女性观众里其实并没有多么受欢迎。很多女性更是直接表示“很讨厌小南”。

在笔者的印象中,这种倾向在《棒球英豪》连载的时候开始就有了。

在小学高年级的时候,有一天,听到同班的女生们在说“我不喜欢小南”。那时候笔者一直坚信世上所有的人都是喜欢小南的,听她们那么说我很好奇,于是上前询问。

于是她们说,“不喜欢她用名字称呼自己”。

原来如此,她确实一直在用“南”称呼自己。但是很合适啊,而且很可爱,没什么问题嘛。笔者这么说了以后,那些女生们似笑非笑的反应,和明石家秋刀鱼先生当时遭受到的,一样……

为什么女生会讨厌小南呢。

其实在这里,关系到男性和女性阅读安达充漫画的不同方式。在第三章里,主要以男性的视角来解读安达充漫画,在这一章中,我准备进入女性读者的世界,分析她们眼中的安达充作品。

为此,笔者首先在喜欢安达充的女性中做了一个调查,题目是“讨厌小南的话,为什么”,“你觉得喜欢的人所讨厌的女生,是因为什么而被讨厌的呢”。

结果,最多的回答是“她的万人迷属性”(23岁女性,公务员),“讨厌她对谁都笑脸相迎的做法”(23岁女性,褓姆)啊,“对谁都那么体贴,做得太过火了”之类的理由。

原来如此,以这个视角来看的话小南的一些做法确实值得商榷。面对宿敌校的新田明男,就可以多次坐他的摩托,让他送自己回家。而面对同样是宿敌校的王牌西村勇的示好,她却总是一边假装微笑应对,一边找各种借口打发对方。

小南在任何时候都保持着笑容,这正是她成为校园偶像的原因,在同性看来却只是在无差别的魅惑男生。即使她本人没有意识到,可这种让连外校的不良少年见了都要让三分的原田正平都对她着迷的魅力也未免太过强大了吧。

可是,小南最滥用这份亲切感的地方,还是在上杉兄弟身上。“对达也跟和也都搞得很暧昧的做法让人不爽。以这种方式吸引男孩的女生,通常都不会受同性欢迎的。”(28岁女性,商店店员)。女性们认为,正是小南这种暧昧不清的态度,才导致她和上杉兄弟之间的三角恋关系不断复杂恶化的。

确实,被小南当作异性而喜爱着的达也还好,相比之下,几乎没有被当作异性对待的和也就很悲哀了。两人每天一起上学(达也迟到),晚上一起做作业(达也逃掉)。和也进棒球社以后小南就去做了他的经理,还被选作1年级的最佳情侣。可是在和也因为和小南约好要看的电影已经和别的女孩一起看过了而苦恼的时候,小南却说,

“你这样会短命哦,和也……你太在意别人的感受了……对其他的人也就算了,跟我在一起的时候,起码可以轻松点嘛。当然啰,有时候我是会生气啦……但是不会因此而讨厌你的……”(出自《不得了啦》之卷)。

再怎么青梅竹马,听到她这么说,也都会误以为小南喜欢自己了吧。