CY摸魚(yú)java筆記033
線程
一,什么是線程?
????有序嚴(yán)謹(jǐn)?shù)闹噶罴捶Q(chēng)為程序。
????程序的同時(shí)多運(yùn)行稱(chēng)為進(jìn)程。
????程序中不同的執(zhí)行路徑稱(chēng)為線程。
????多線程編程簡(jiǎn)單,效率高,易于資源共享。
二,什么是線程同步?
????線程同步是指在一段程序執(zhí)行過(guò)程中,無(wú)論成功還是失敗,其他線程都會(huì)等待這段程序執(zhí)行完畢才會(huì)轉(zhuǎn)入其他線程,這樣可以保證程序的完整性和安全性。
三,什么是流?
????流是用于連接程序和設(shè)備之間的管道,主要用于數(shù)據(jù)傳輸,這個(gè)管道上有很多按鈕,每個(gè)按鈕可以實(shí)現(xiàn)不同的功能。
四,流的分類(lèi)。
????四大基本抽象流(輸入流,輸出流,字節(jié)流,字符流)。
????文件流,緩沖流,轉(zhuǎn)換流,數(shù)據(jù)流,print流,object流。
緩沖流


bufferiostream內(nèi)部有一個(gè)緩沖byte[8192]
視頻代碼實(shí)現(xiàn)的byte[2048]其實(shí)是自定義緩沖
也就是二級(jí)緩沖。
并且當(dāng)二級(jí)緩沖(用戶定義緩沖)大于一級(jí)緩沖時(shí),加一層bufferiostream是沒(méi)有意義的
簡(jiǎn)單講bufferiostream等效于
一個(gè)iostream加上自己代碼實(shí)現(xiàn)byte[8192]
對(duì)比試驗(yàn)了一下,BuffereInputStream和BuffereOutputStream確實(shí)比FileInputStream和FileOutputStream快,而且要快好多,一個(gè)7Mb大的mp3文件,前者1秒不到就復(fù)制完成了,后者得三四十秒才復(fù)制完成,而且可以看到后者的大小一直在變大,挺好玩的。。。