由多线程联想到城市道路规划
2016-04-18 18:01
169 查看
[align=center][/align] 这几天正在学习多线程,以下都是由感而发 一个城市的堵车现象除了由于车多之外,很大一部分原因是由于红绿灯、十字路口冲突的两个方向的车流抢道导致的拥塞。就那“红绿灯”开始我的分析吧,呵呵。 城市里为啥要有红绿灯,是因为不同方向的车流使用了同一块路面空间;这好比程序里的多线程访问和修改同一块内存区域,必须用锁锁住这块内存,让访问者排队一个一个的访问,如果不排队一个一个依次访问会导致不可预知的错误,但是一个一个排队又大大降低了软件性能,一颗i7的cpu当386用。个人认为红绿灯同意起到了这种危害,原本各个方向并行形式的车流在到达路口时根据红绿灯的调度变为了串行行使,车流小的时候只会轻微压车,车流稍大就是青岛山东路的状况。 如何解决红绿灯造成的路堵呢?非常简单干掉它,因为社会本不需要它。 下面是我的拙见: 程序员都知道,如何让多线程毫无顾虑的同时并发执行,那就是他们不访问同一块内存,这种就不需要锁,这是理想状态。如果现实中存在访问同一块内存的情况,那就得加锁,但是锁的最高境界是没锁,高级程序员可以做到。 十字路口好比多线程同时访问的内存,现在要去掉红绿灯,必须解决车流方向冲突,要解决它非常简单,立体交通,每个十字路口建造小心立交,既可解决车流冲突,干掉红绿灯,车流都不冲突了,也就不存在抢道。 再说说公交车,我的想法是公共交通地位最高,在马路最中间划出2个车道作为公交车道,与外面车道隔离,每个车站都是凹槽的,防止进站造成后车等待,中间的公交车道通过地下通道或天桥连接马路两侧。 这样打造一套中间是公交车道,两边是私家车道,地下通道或天桥连着马路两侧与公交站点,十字路口通过微型立交取代红绿灯的优质城市交通网络。 转载请著名:意识流 http://www.1shi6.com |
相关文章推荐
- Python3写爬虫(四)多线程实现数据爬取
- C#实现多线程的同步方法实例分析
- 浅谈chuck-lua中的多线程
- C#简单多线程同步和优先权用法实例
- C#多线程学习之(四)使用线程池进行多线程的自动管理
- C#多线程编程中的锁系统(三)
- 解析C#多线程编程中异步多线程的实现及线程池的使用
- C#多线程学习之(六)互斥对象用法实例
- 基于一个应用程序多线程误用的分析详解
- C#多线程学习之(三)生产者和消费者用法分析
- C#多线程学习之(一)多线程的相关概念分析
- C#多线程之Thread中Thread.IsAlive属性用法分析
- 分享我在工作中遇到的多线程下导致RCW无法释放的问题
- C#多线程编程之使用ReaderWriterLock类实现多用户读与单用户写同步的方法
- C#控制台下测试多线程的方法
- 21天学习android开发教程之SurfaceView与多线程的混搭
- Ruby 多线程的潜力和弱点分析
- C#中WPF使用多线程调用窗体组件的方法
- C#如何对多线程、多任务管理(demo)
- C#实现多线程的Web代理服务器实例