多线程的形象化理解
最近教大一的小孩理解多线程,想到了一个还算贴切的例子。
假设你要在12306上买两张票,假设票是连号发放的,那么当你一个人买的时候,买到的票一定是连号。而有时并不是连号的,这说明在你买票时也有另外的人在买,把本该属于你的连号票抢走了。
这就相当于多线程,每个买票的人都是一个线程,而总的火车票就是这些线程共享的资源。
最近教大一的小孩理解多线程,想到了一个还算贴切的例子。
假设你要在12306上买两张票,假设票是连号发放的,那么当你一个人买的时候,买到的票一定是连号。而有时并不是连号的,这说明在你买票时也有另外的人在买,把本该属于你的连号票抢走了。
这就相当于多线程,每个买票的人都是一个线程,而总的火车票就是这些线程共享的资源。
对于一个作家,最重要的是能写出出色的文章,文章的水平如何,和作家用什么颜色、形状、粗细的笔来写没有任何关系。假如出现这么一幕场景:许多作家围坐在桌旁,口水飞溅地争论:
“英雄才是最好的笔!”
“瞎说!关勒铭才是最好的笔!”
“英雄笔在未来十年必将消亡的 10 个原因”
“新的写作模式,双手梅花篆字”
“怎么在一分钟之内写 300 个字——论英雄没有关勒铭流畅的原因”······
可以想象是个什么场景吗?
是的,我当然知道把程序员比做作家是牵强附会并不合适,但是一些(甚至可以说很多)程序员在讨论、在追求的都是用什么语言,用什么框架,有的人没有科班背景只是在培训机构培训了几个月(没有任何对培训机构偏见的意思)就出来加入了轰轰烈烈的”程序员讨论“中。
这样真的有意义吗?难道写代码真的要与语言、框架绑定在一起吗?你是学 Java 的,让你写 Python 你就可以说自己不是程序员了吗?程序员从何时开始这么廉价了?语言、框架(以及目前各种 Mxx 设计模式)对于程序员不就像笔对于作家一样只是工具而已吗?为什么作家要被笔束缚?为什么程序员要被语言、框架束缚?
程序员应该是骄傲的作家,不应该沦落为体力劳动者,如果你是后者,请不要,至少不要在我面前说你自己是个程序员!
暂时不会更新博客,有问题要交流的欢迎发邮件
6月准备期末考试,除了考试没有再编过程。今天院内ACM培训选拔赛,虽然手生,还是顺利通过了。这两周不用去听水课了,通过这两周找找感觉,巩固一下算法把,不要放下c++和Java的学习。一月不编程感觉水平有点下滑,很简单的题目竟然选择了很复杂的算法,还是错的,其实暴搜就可以,哎,好好练习吧
一些事情,看开了一些事情,不算看开吧,只是在事实面前不想做反抗也做不出反抗罢了。
今天下午两点到五点,理工配楼二层信息学院ACM大赛,ACMore_txj,ACMore_znc,ACMore_yld,共12道题,三个小时做出四道题,两道一直WA,没过,二等奖。一等奖五道题目。哎,即使不是正规的ACM/ICPC题目,还是感觉到自己太弱了,真的太弱了。仰仗学了不少模板就以为可以变厉害了,其实不是,ACM的题目更多的还是需要思维而不是记忆的,正如ACM朴神说的:“现在ACM模板题目已经不多了,更多的是多种算法思想混杂在一起需要自己去组织”。真的不能再沉迷在POJ排名上了,现实说明你仍然是以前那个蒟蒻,你的实力并没有提高多少,无非就是见得多一点,仅此而已。至于怎么真正提升自己,我不知道,我真的不知道,得过且过?还是由算法研究转向应用呢?真的想要动摇了,毕竟不是ACM队的,又何必?
刚刚过掉一道题,这题是上学期接触编程不久后做出来的,但是刚刚在做的时候却一直WA,脑海里一直想着当初是怎么1A的,尽量去揭开那时的记忆拿到算法,但是总想不出来,过了好久还是没过,只能打开以前的文件夹看了一下以前的做法,我现在的做法和那时几乎相同,但是有一步比较关键的没想到。也许是看不起那时的自己,认为那时能A的题目现在一定能A,但是事实说明,目前好像有点自信心过于膨胀了。POJ上连续刷了半个学期的题目,一口气看了很多算法和数据结构,就认为自己已经变牛了,可事实说明,你还是当初那个什么都不懂的你。圣人尚自谦,何况你还不是圣人,何况这一行有那么多的惊才绝艳的天才妖孽,你凭什么飘飘然?脚踏实地才是王道,学院ACM队的大牛现在仍是我不可企及的目标,何况还有国家队的大神呢?
好了,清醒一下,后天就是学院举行的程序设计大赛,争取拿个好成绩吧。