今天坐車回來突然有個(gè)想法,我把它記錄下來。
在廣州上下班時(shí)間主要交通路線一定會(huì)塞車,而且通常是沒有交通意外,紅綠燈沒壞,交警們還在的情況下發(fā)生。部分原因是因?yàn)閺V州的主要商業(yè)區(qū)比較集中,市民的居住地也集中在幾個(gè)方向,這樣一來就會(huì)出現(xiàn)上下班時(shí)間集中在某個(gè)方向的車道塞車,而相反方向的車道卻被閑置著。

但是如果把道路的設(shè)施稍微改動(dòng)一下。比如現(xiàn)在道路之間是用花圃、欄桿或者雙黃線隔開的。這有可能會(huì)美化道路,但是卻不能給市民帶來方便。如果我們把花圃、欄桿拆掉,把黃線給抹掉,用埋在道路表面的燈來代替。

如上圖 1,2,3 分別代表埋在路表面的黃燈 平時(shí)默認(rèn)2亮,在出現(xiàn)塞車時(shí)可以靈活的調(diào)整1,3燈是否為亮。通過調(diào)整塞車車道的寬度來緩解廣州的路況。我覺得是可行的辦法。
1.從分利用了道路資源,不會(huì)出現(xiàn)一邊道路緊張一邊卻被閑置。
2.在路表鋪上路燈的成本比每天塞車的成本低(我沒調(diào)查過)
但是還是會(huì)面臨各種問題
1.沒有相關(guān)法規(guī)規(guī)定,路表的指示燈可以作為指揮交通。
2.即使有相關(guān)法規(guī)出臺(tái)。廣州的司機(jī)大老會(huì)買單嗎?誰(shuí)來監(jiān)管。
3.即使可以通過電子眼來監(jiān)管司機(jī)。指示燈誰(shuí)來控制?如何控制燈亮燈滅。會(huì)出現(xiàn)車開到一半車道變窄的情況,車卻開到了相反方向。
4.其實(shí)控制燈亮燈滅技術(shù)上計(jì)算機(jī)是可以實(shí)現(xiàn)的。
完
今天運(yùn)氣不錯(cuò),一到車站就能上車,有位置坐,開了幾個(gè)站都沒有老太太上車。今天司機(jī)開車想瘋了一樣把車開得很快。也許現(xiàn)在很晚了吧。工作到了收尾階段,不是很忙了,我還是晚回。也許我是習(xí)慣了吧。我習(xí)慣下班后修改一些bug或者優(yōu)化程序,這樣我能夠靜下心來。我該改改我的習(xí)慣了。
今天看了一篇文章,讓我想起了老子說的信言不美,美言不信。善者不辯,辯者不善。知者不博,博者不知。意思是說,自己可以相信的、對(duì)自己真正有益的話不會(huì)好聽,但阿諛奉承的好聽話千萬不可以相信......
線程池的體驗(yàn),這里是簡(jiǎn)單的例子,不解釋了,只能意會(huì)不能言傳。
//第一個(gè)類
package thread;
import java.util.LinkedList;
public class ThreadPool {
private LinkedList tasks = new LinkedList();
public ThreadPool(int size) {
for (int i = 0; i < size; i++) {
System.out.println("new");
Thread thread = new ThreadTask(this);
thread.start();
}
}
public void run(Runnable task) {
System.out.println("run0");
synchronized (tasks) {
tasks.addLast(task);
tasks.notify();
}
}
public Runnable getNext() {
Runnable returnVal = null;
synchronized (tasks) {
while (tasks.isEmpty()) {
try {
System.out.println("waiting");
Thread.sleep(1000);
tasks.wait();
System.out.println("waited");
} catch (InterruptedException ex) {
System.err.println("Interrupted");
}
}
returnVal = (Runnable) tasks.removeFirst();
}
return returnVal;
}
public static void main(String args[]) {
final String message[] = { "zgw", "nake", "sunny", "piao" };
ThreadPool pool = new ThreadPool(message.length / 1);
for (int i = 0, n = message.length; i < n; i++) {
final int innerI = i;
Runnable runner = new Runnable() {
public void run() {
for (int j = 0; j < 25; j++) {
System.out.println("j: " + j + ": " + message[innerI]+" "+innerI);
}
}
};
pool.run(runner);
}
}
}
//---------------------
第二個(gè)類
package thread;
import java.util.LinkedList;
class ThreadTask extends Thread {
private ThreadPool pool;
public ThreadTask(ThreadPool thePool) {
pool = thePool;
}
public void run() {
while (true) {
System.out.println("gogogo");
// blocks until job
Runnable job = pool.getNext();
try {
job.run();
} catch (Exception e) {
System.err.println("Job exception: " + e);
}
}
}
}
在過去的二十年里,新的軟件開發(fā)方法和技術(shù)的使用并未使軟件生產(chǎn)率和生產(chǎn)質(zhì)量得到有效的提高。軟件生產(chǎn)商開始意識(shí)到他們的基本問題在于對(duì)軟件的生產(chǎn)過程管理不力,主要體現(xiàn)在:軟件產(chǎn)品不能按時(shí)完成、超出預(yù)算的成本、以及采用新的技術(shù)和工具后其好處難以體現(xiàn)。
企業(yè)要通過選擇最關(guān)鍵的目標(biāo)來進(jìn)行過程改進(jìn),應(yīng)該搞清成熟的軟件過程和不成熟的過程之間的差異。
不成熟的企業(yè)有如下標(biāo)志:
- 缺乏確定的軟件過程和相應(yīng)的管理和控制;
- 即使給出了軟件過程,也不嚴(yán)格的遵循和強(qiáng)制執(zhí)行;
- 管理是完全被動(dòng)的,管理者采用的策略是救火式的,即出了事才去解決,解決的時(shí)候也難以縱觀全局,往往只顧眼前;
- 由于缺乏有依據(jù)的估算,制訂軟件預(yù)算和生產(chǎn)計(jì)劃時(shí)往往跟著感覺走,實(shí)際生產(chǎn)時(shí)則常常超標(biāo);
- 如果強(qiáng)制在預(yù)定期限內(nèi)完成,那么軟件的功能和質(zhì)量肯定是得不到保證;
- 缺乏評(píng)價(jià)軟件產(chǎn)品質(zhì)量和解決產(chǎn)品缺陷和過程問題的客觀基礎(chǔ)。
成熟的企業(yè)則有如下標(biāo)志:
- 具有在企業(yè)范圍內(nèi)管理、控制軟件開發(fā)和維護(hù)過程的能力;
- 現(xiàn)有人員和新進(jìn)人員均了解所遵循的軟件過程,且工作活動(dòng)均按照事先的計(jì)劃完成;
- 在定義好的軟件過程中,所有項(xiàng)目和機(jī)構(gòu)中的角色和責(zé)任分明;
- 制定的計(jì)劃是有效的且與實(shí)際的工作進(jìn)展一致;
- 軟件過程在必要時(shí)可按照一定規(guī)則和程序加以修改;
- 軟件產(chǎn)品和過程的具有一定的可控性。這主要體現(xiàn)在:
- 管理者能夠監(jiān)督軟件產(chǎn)品的質(zhì)量和生產(chǎn)過程;
- 具有客觀的和定量化的措施來判斷產(chǎn)品質(zhì)量并分析產(chǎn)品與生產(chǎn)過程中的問題;
- 計(jì)劃和預(yù)算有章可循,它是基于歷史數(shù)據(jù)的,從而是實(shí)際可行的;
- 預(yù)算的結(jié)果,包括成本、時(shí)間表、產(chǎn)品功能和質(zhì)量等,通常能夠達(dá)到;
- 有關(guān)的參與者完全理解遵循軟件過程的價(jià)值并認(rèn)真地遵循之;
- 具有支撐軟件過程的基礎(chǔ)設(shè)施,如標(biāo)準(zhǔn)過程庫(kù)、歷史數(shù)據(jù)庫(kù)等。
如果公司要通過CMM2,那么公司的管理成本又有多大?公司其它管理層是否意識(shí)到制定標(biāo)準(zhǔn)的好處?新事物會(huì)帶來多少人的抵制?