相信各位牛人都写过多线程的程序(晕死,我们现在恐怕很少项目是单线程的,就算有,还有几个中断例程捣蛋,相当于多线程),必定学过什么信号量呀、事件呀、同步呀、互斥呀、死锁呀,研究过什么读者写者、生产者-消费者、哲学家就餐之类之类的。
好玩吧。
两个不同优先级的线程抢占一个资源,高优先级抢低优先级的,哟,我锁住。呵呵,把高的挂起,优先级反转。低优先级刚拿到一个指针,高优先级的就把它释放了(汗!)。低优先级的刚判断了一个条件,高优先级的立马把状态改变,于是低优先级下面的动作全错了。
资源争夺,系统分析员不可回避的问题。但是我们往往都不够重视这个问题,而今,高端参数部分的一个硬伤就是。多个线程公用变量和状态,由此衍生了许多bug。那如何解决,终极之道不是如何协调各个线程,而是避免资源争夺,减少资源公用。
一个男人一个女人,那是和谐社会;几个男人一个女人,呃,那是光棍聚会??!!难免你争我夺呀。
记住这句话,这是我的,你要用,凭什么!
======
ps,突然想到关于领导的问题,假如有一个皇帝,见一民妇,貌甚美,预征用之,其夫忿,告之,乃我妻,望谅。帝曰,宪法云,普天之下,莫非王土,率土之滨,莫非王臣。刁民,还有什么是你的,都是我的,拿来吧你。
一个号称管理者的类往往手伸得很长,聚合在它之下的类往往没什么私人家当,跟奴隶没什么区别,“管理类”才不屑去调什么接口函数,直接就拿了人家的内部变量(虽然有时候被迫声明为public)来用,你不服,呀喝,我把你new出来的,你被我管着,还由了你了。这样的代码不少见呀,当然生活中更多。
再多说两句:
1 私人财产神圣不可侵犯。
2 安得广厦千万间,大庇天下寒士俱欢颜,一人一套(唉,房子呀)。