1.這個問題被考了好多遍了:
linux程序間通訊:管道、訊號、訊息佇列、共享記憶體、訊號量、套接字(socket)
linux執行緒間通訊:互斥量(mutex),訊號量,條件變數
windows程序間通訊:管道、訊息佇列、共享記憶體、訊號量 (semaphore) 、套接字(socket)
樂視一道筆試選擇題執行緒間同步的方式一道選擇題
windows執行緒間通訊:互斥量(mutex),訊號量(semaphore)、臨界區(critical section)、事件(event)
2. fork()函式通過系統呼叫建立乙個與原來程序幾乎完全相同的程序,也就是兩個程序可以做完全相同的事,但如果初始引數或者傳入的變數不同,兩個程序也可以做不同的事。
fork呼叫的乙個奇妙之處就是它僅僅被呼叫一次,卻能夠返回兩次,它可能有三種不同的返回值:
1)在父程序中,fork返回新建立子程序的程序id;
2)在子程序中,fork返回0;
3)如果出現錯誤,fork返回乙個負值;
fork(); //2個程序
fork(); //4個程序
fork(); //8個程序
printf(「hello\n」);
1.建立型模式
前面講過,社會化的分工越來越細,自然在軟體設計方面也是如此,因此物件的建立和物件的使用分開也就成為了必然趨勢。因為物件的建立會消耗掉系統的很多資源,所以單獨對物件的建立進行研究,從而能夠高效地建立物件就是建立型模式要**的問題。這裡有6個具體的建立型模式可供研究,它們分別是:
簡單工廠模式(****** factory);
工廠方法模式(factory method);
抽象工廠模式(abstract factory);
建立者模式(builder);
原型模式(prototype);
單例模式(singleton)。
說明:嚴格來說,簡單工廠模式不是gof總結出來的23種設計模式之一。
2.結構型模式
在解決了物件的建立問題之後,物件的組成以及物件之間的依賴關係就成了開發人員關注的焦點,因為如何設計物件的結構、繼承和依賴關係會影響到後續程式的維護性、**的健壯性、耦合性等。物件結構的設計很容易體現出設計人員水平的高低,這裡有7個具體的結構型模式可供研究,它們分別是:
外觀模式(facade);
介面卡模式(adapter);
**模式(proxy);
裝飾模式(decorator);
橋模式(bridge);
組合模式(composite);
享元模式(flyweight)。
3.行為型模式
在物件的結構和物件的建立問題都解決了之後,就剩下物件的行為問題了,如果物件的行為設計的好,那麼物件的行為就會更清晰,它們之間的協作效率就會提高,這裡有11個具體的行為型模式可供研究,它們分別是:
模板方法模式(template method);
觀察者模式(observer);
狀態模式(state);
策略模式(strategy);
職責鏈模式(chain of responsibility);
命令模式(command);
訪問者模式(visitor);
調停者模式(mediator);
備忘錄模式(memento);
迭代器模式(iterator);
直譯器模式(interpreter)。
知識點總結
1,迴圈中的中斷 continue 跳出此次迴圈,繼續for迴圈 break 跳出當前for迴圈 return 跳出當前方法 2,字串的操作 componentseparatedbystring stringbyreplacingoccurencesofstring withstring iskin...
知識點總結
oncreate onstrat onresume onpause onstop onrestart ondestroy standard 啟動activity都會產生乙個新的activity 預設模式 singletop 啟動activity允許多個,但不允許重疊 singletask 只允許有乙...
知識點總結
function go go 呼叫 go為變數名 setinterval go,1000 1000ms clearinterval 關閉定時器 function abc a,b 2,3 5undefined 未定義 null 空 nan 非數值 string 字串 var a 123 數字型別 va...