毕业设计网站开发选题依据,注册网站的步骤,58同城泰安二手房出售信息,深圳科技公司排行榜我高中的时候#xff0c;是住校生。寝室到了10点半就会熄灯#xff0c;早上6点40左右就要起来跑早操。 一天半夜大概两三点#xff0c;起床放了个大号。想要充厕所的时候发现没有水#xff0c;很尴尬#xff0c;也没有其他的办法。半夜还冷的很。就上床睡觉了#xff0… 我高中的时候是住校生。寝室到了10点半就会熄灯早上6点40左右就要起来跑早操。 一天半夜大概两三点起床放了个大号。想要充厕所的时候发现没有水很尴尬也没有其他的办法。半夜还冷的很。就上床睡觉了想着明早一早起来的时候冲就是了。 等到第二天早上一早起来急急忙忙的出早操生怕迟到迟到是会被班主任老左骂的我也就忘了冲厕所。等中午回到寝室的时候宿管大叔找到我说我没有冲大便的事说我生活习惯有问题之类的。我和他解释了半天大叔最后说算了我本来还打算还跟你们老左说的看你认错态度比较好就算了。我心中os瓜娃子娃娃这个事情都还要给老左说你大爷我又不是故意的。后面宿管大叔警告我说以后注意点下不为例。 宿管大叔的这种行为用我们四川话说就是男牙尖。 高中差不多都是10年前的事了后面随着社会的飞速发展我在很多地方都发现了红外线感应的厕所。只要你把你的屁股挪出了红外线的感应范围那他就会自动帮你冲掉便便了。多好的事儿啊。 我一直都坚持一个观点程序来源于生活而且程序也高于生活。程序和生活是很关联的。 当我们学习到多线程编程的时候就难免会学习到锁的使用。我们也会发现到因为我们记性不好(也许不是)我们都可能会忘了“冲厕所”我们可能会忘掉把锁释放掉。 想想这么一个函数 int fun(int x) { lock(...); if (...) return 1; else if (...) return 2; else throw ...; unlock(...); } 这个时候我们忘掉“冲厕所”的机会就太大了多个return语句以及可能出现的异常抛出。都有可能导致我们忘记了释放掉锁。以为我们要在每个returnthrow前面加上一个unlock。 那么我们能不能给这个函数加一个红外线装置让我们屁股一挪开的时候他就充掉我们的便便 在我们学习程序的时候被误以为C语言程序之父的谭浩强先生曾经写到过的《C语言》中讲变量三要素:类型名称值。其实我觉得还有一个东西很重要作用域。为什么重要呢当你在坑里的时候你是在大便大便在坑里是正常的当你走出坑的时候在星巴克喝咖啡的时候我还没喝过呢在电影院看电影的时候如果有个大便是在你视线之类这不就囧死你娘亲了。如果没有作用域我们的程序世界不知道会带来怎样的一种不可想象的混乱。 因为作用域很重要我们可以使用作用域的概念完成“红外线装置”。 定义如下一个类ScopeLock class ScopeLock { public: ScopeLock(pthread_mutex_t mutex) : mutex(_mutex) { pthread_mutex_lock(mutex); } ~ScopeLock() { pthread_mutex_unlock(mutex); } private: pthread_mutex_t mutex; }; 好了这样你就只需要在你需要锁上锁的地方顶一个一个ScopeLock的局部变量然后就不用管了就好比你只需要打开厕所的们安心大便就不用想着冲厕所的事儿了。多好的事儿啊。 需要说明这个ScopeLock不是我自己发明的来自POSA卷2《pattern oriented software architecture》不错的一本书。 如果我只能把忘了冲大便这个事情学习这么一点儿我觉得我就肤浅了。说过程序高于生活你还能想到其他的吗想到同样方法解决类似问题的用途吗