程序的并發(fā)執(zhí)行是指同一時刻 程序并發(fā)執(zhí)行與順序執(zhí)行相比會產生哪些新特征?
程序并發(fā)執(zhí)行與順序執(zhí)行相比會產生哪些新特征?1. 并行執(zhí)行和順序執(zhí)行的特點是:可分性、封閉性和再現性的喪失。2. 并行程序執(zhí)行的主要特點是并行程序之間存在相互約束。并行程序執(zhí)行失去了程序的封閉性和可復
程序并發(fā)執(zhí)行與順序執(zhí)行相比會產生哪些新特征?
1. 并行執(zhí)行和順序執(zhí)行的特點是:可分性、封閉性和再現性的喪失。
2. 并行程序執(zhí)行的主要特點是并行程序之間存在相互約束。并行程序執(zhí)行失去了程序的封閉性和可復制性,程序的活動和機器執(zhí)行程序不再一一對應。
3. 程序的并發(fā)執(zhí)行意味著系統(tǒng)的所有部分不再以簡單的串行方式工作。同時,系統(tǒng)中不僅有一個活動,還有許多并行活動。從程序活動的角度看,系統(tǒng)中可能有多個操作程序同時執(zhí)行或相互滲透。此時,計算機不再是一個簡單的順序執(zhí)行程序。也就是說,在程序的前一個操作完成之后,系統(tǒng)可以不立即執(zhí)行其隨后的操作,而是可以轉向執(zhí)行其他程序的操作。
程序順序執(zhí)行與并發(fā)執(zhí)行有什么不同?
與單核和多核計算機類似,順序執(zhí)行在每個時間段只能執(zhí)行一個任務。在執(zhí)行一個線程時,其他線程必須等待該線程完成執(zhí)行。如果是并發(fā)執(zhí)行,則在每個時間段中并發(fā)執(zhí)行多個任務。一般來說,第一個和第二個沒有區(qū)別,這大大提高了程序的整體執(zhí)行效率。
為什么同一個程序不同時間結果不一樣?
只要是軟件開發(fā),就會用到內存。
1. 它與操作系統(tǒng)有關。不同的操作系統(tǒng)(win,Linux)它們的內存管理是不同的。另外,一些64位處理器和一些32位處理器會影響數據類型。
2. 與編譯器相關。目前,我們使用的開發(fā)語言大多是高級編程需求,如Java、C等,它們不能被計算機直接讀取,還需要編譯(也可以理解為翻譯)。不同的編譯器在編譯方面存在差距。
3. 如果同一臺計算機上的環(huán)境沒有改變,并且同一程序的結果不同,則有可能在程序中調用系統(tǒng)時間(time changed),也有可能調用內存地址(數據在內存中分配,地址由內存控制器存儲,在不同的時間地點也不同)。
4. 也有可能還有其他原因。如果開發(fā)環(huán)境不改變,就必須從源程序中找出問題的根源,找出原因。