發表文章

C#_Process跟Thread深入研究探討(二)_Task使用總整

圖片
https://www.rover.com/blog/puppy-feeding-schedule-everything-need-know/ 融入生活的例子 某一天你的主管突然開始交付了 你無法負荷的工作量時此時又每天問候工作進度 開始就會有一些任務停擺因為你還有其他任務要做的問題發生 這個工作因為我在處理A需求因為比較緊急 所以暫時還沒處理 此時是不是考慮要雇用更多員工幫忙處理任務.........etc Process 行程(進程)/處理(程)序 就是一個運行的程式,再白話一些你可以說任一exe開啟執行的都算是.. 你任何一支無論用C# 、Java、VB.NET、C開發編譯出來的執行檔一被執行時 就會產生Process 你開的任何一個IE、Chrome瀏覽器或其他桌面端應用程式、Word、PowerPoint 也會產生一個Process 每個獨立的執行檔案於開啟時都會於作業系統 中被加載至內存並分配到一組資源來利用 此時我們就稱之為各個單獨的Process,相互不影響彼此。 提問:為何這麼設計?? 主要也在於當一支程式掛掉時不會連動到其他程式的安全隔離用意。 雖然呀 ~~我們的應用程式和作業系統之間 已經透過Process的概念來達到隔離保護的效果。 但是必須要瞭解它們 仍共用著同樣的CPU資源 因此一台股老機器若CPU只有一顆當某一支應用程式陷入無窮迴圈 則唯一的CPU就為變成只忙著跑該程式,進而無暇控管其餘程式的運行。 因此導致鎖死,因而沒有任何回應。 為了解決多個應用程式共用同一CPU的問題(CPU無法分身) 隨之所產生出Thread的概念。 Thread  執行緒(線程) 則是Process中的組成單元(基本執行單元) 在 Jeffrey Richter 先生所撰寫的 "CLR via C#" 一書中提到 「執行緒是Windows作業系統用來虛擬化CPU的概念」 更進一步解釋到 Windows OS 會配給每一個Process一個獨一無二 專屬的Thread(功能近似於縮小版本的CPU) 因此也可理解為執行緒就是所謂用來切割CPU執行時間之基本單位。 因此現在你啟動工作管...

C#/VB.NET 物件導向技巧研究(二)_靜態資料屬性、靜態方法/函數/建構子、公用工具類

圖片
靜態的觀念白話層面來看 無非就是不需要先實體化物件個體 直接透過該類去調用 相應的資料屬性欄位、方法 並且具 內存共享 的機制 因此又有一種說法就是稱為 類別層級 的屬性、方法、函數.... 甚至常講到的靜態類別(不需要實體化!!!!) 於Visual Studio中 View -> Object Browser選單去點選 mscorlib.dll 中的 System命名空間 就可以看到常用的Console , Math , Environment....etc都是用static修飾的類別 代表直接透過該類去直接呼叫相關方法而不用再實體化 這些就是俗稱的公用工具類 想想你是負責維護一套金融系統的工程師 當中想必一定會看到類似這種物件藍圖 負責處理儲蓄帳戶相關業務流程 每個用戶都要對應餘額 在一般情況下大家都有統一的利率 CODE Main 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 using System ; using System.Collections.Generic ; using System.Linq ; using System.Text ; using System.Threading.Tasks ; namespace MyOOP2 { class Program { static void Main ( string [] args) { Console.WriteLine( "static data " ); SavingAccount s1 = new SavingAccount( 50 ); SavingAccount s2 = new SavingAccount( 100 ); Console.WriteLine( "Interest Rate is: {0}" , SavingAccount.GetInterestRate()); ...

C#/VB.NET 物件導向技巧研究(一)_Chain Constructors_optional parameters

圖片
C# /VB.NET  建構子設計中常遇到的 冗長設計 問題 如下我們建立一個摩托車的類別來詳述一些 還能再改善的程式碼片段徵兆 Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 class Motorcycle { public int driverIntensity; public string driverName; //driver name public int driverYear; // driver year public void SetDriverName ( string name) { this .driverName = name; } public void SetDriverYear ( int year) { driverYear = year; } public Motorcycle (){} //冗長的建構子函數......................... //確保駕駛安全並限定強度等級不超出10 public Motorcycle ( int intensity) { if (intensity > 10 ) { intensity = 10 ; } driverIntensity = intensity; } public Motorcycle ( int intensity , string name) { if (...

VueJS框架_開發環境建立

圖片
1.Vue JS 框架介紹 2.Vue JS 開發環境建立 3.Vue JS基礎指令 使用之IDE:  Notepad++ 或Subline都可以 Subline Text3教學可以參考這個文章做設定 SideBarFolder 已經改成 SideBarEnhancements http://coolmandiary.blogspot.tw/2016/02/subline-text-3-part1.html https://vuejs.org/ https://vuejs.org/v2/guide/ =============================================================== 1.Vue Js 框架 介紹 Vue 讀音  很像 View 一個用於建立使用者介面的 開源 JavaScript   框架,也是一個建立 單頁面應用 的 Web應用框架 。 2016年一項針對JavaScript的調查表明,Vue有著89%的開發者滿意度。 主要是一套漸進式framework,採用由下往上增加之開發設計,核心關注部分只重視 視圖層、易學習、易整合專案項目特性。 在 GitHub 上,該專案平均每天能收穫95顆星, 為Github有史以來星標數第10多的專案。 元件是Vue最為強大的特性之一。為了更好地管理一個大型的應用程式,往往需要將應用切割為小而獨立、具有復用性的元件。 Vue使用基於HTML的模板語法,允許開發者將DOM元素與底層Vue例項中的資料相繫結。 所有Vue的模板都是合法的HTML,所以能被遵循規範的瀏覽器和HTML解析器解析。 在底層的實現上,Vue將模板編譯成虛擬DOM彩現函式。結合回應式系統, 在應用狀態改變時,Vue能夠智慧型地計算出重新彩現元件的最小代價 並應用到DOM操作上。 轉自: wiki 2.Vue JS 開發環境建立 於 Subline Text3中 一樣在你學完並且安裝完Package Control之後 即可依樣畫葫蘆 去下載 VueJs相關Package Step1.Package Control ---> 輸入 install Package S...

Parser工作技能_使用Java Dom對XML格式資料進行parser

圖片
於工作中會需要處理各種形式資料 其中一項XML  是最常見的 在如下網站線上編輯XML和立即可視化的網頁中 我們更能清楚瞭解 XML 就是一種有 樹狀 層次 結構的資料 如下方的根節點則是Company 在下一層的子節點則是Employee 以此類推...... 那我們又把 Company , Employee  FirstName, LastName ContactNo , Email ....etc 稱為 Tag 視為 Attribute https://www.tutorialspoint.com/online_xml_editor.htm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?xml version="1.0"?> <Company> <Employee> <FirstName> Tanmay </FirstName> <LastName> Patil </LastName> <ContactNo> 1234567890 </ContactNo> <Email> tanmaypatil@xyz.com </Email> <Address> <City> Bangalore </City> <State> Karnataka </State> <Zip> 560212 </Zip> </Address> </Employee> </Company> 這裡我們用如下這個XML格式的人員資料表進行示範 1 2 3 4 5 6 7 8 9 10 11 <?xml version="1.0"?> ...