2010-3-19

  就像狐狸的签名:just another ordinary day!
  睡前就看了一个item,关于Exception的,想想今天还是从concurrent开始好了,比较project正好要用!这个是关于不要滥用Exception的,尤其是对于API时,因为这样会强制别人也使用。大概就这样吧!
早上八点多醒,聊会天,九点起床吃饭。学习了一会,感觉效率不高了,那个设计的任务又落在我头上了,momo!想了想实在是没有思路,嗨!而且随便看了看thread的东西就十一点了,开QQ,继续飞行棋。。。小胜!Hoho!还玩了几盘泡泡龙,大胜!水平差距看来今天拉大了,Hoho!
  十二点半才开始炒菜,玩物丧志呀!萝卜炒完看了会我猜!两点多开始干活!想了很多idea,比如说重新设计downloadservice,在客户端侦听,然后由服务器发起连接。但这样工程量好像挺大的,懒了,sigh!等于一半的代码要推翻重写,下不了这个决心!于是更烦!坐到阳台上静静想想,折衷的办法就是在服务端挂起这个线程,然后其他下载完再接上!这样的坏处就是这个时候Socket连接已经建立起来了,系统的开销应该会比较大!怎么去权衡呢,矛盾!不过反正不是什么大型的系统,先这么设计吧!于是系统看了一下thread那些方法,比如以前的suspend,resume什么的,本来想用,结果发现已经不推荐了,过期了,汗!另外找思路:记得在1.5中新加的concurrent中好像有wait和notify,于是赶紧去看,好像这个思路不错!用fileName作为wait和notify的object!这样有个缺点就是会有很多的thread在fileName的名下挂起,这样当notify的时候,这些线程就会自己竞争,而不是安装方案中的到达先后顺序而执行!麻烦!如果用两个object,一个专门用于下一个执行,一个用于管理其他的thread,这样应该行得通,可复杂度太高!下午吃完饭去学校的bus上灵感突发:可以新建一个object,里面用timeStamp作为field之一,这样既实现了unique,又可以在实现comparable的基础上对waiting queue做排序,哇!perfect!佩服下自己!就这么做了!queue完美实现!接下来的query就简单了!
  晚上database课一般般,前面已经预习过的内容,上起来没有那么有意思!讲的是一些比较复杂的query例子,还有order by,max,avg,Count等几个关键字方法。Group by和having都还没有开始讲,momo!对于sql更有信心了吧!
  回来十一点多了,赶紧睡觉好了!那只猫说咳嗽好些了,很好!明天还要去看奥巴马皇上,赶紧上床学习一下,睡觉!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s