一個初學者對dephi多線程的無知問題,重分請你參與!


(1)用了delphi有三個月的時間了,就是搞不懂delphi的多線程,參考書上的例子不是過長,就是太
模糊看不懂,學了這么久根本就沒有真正理解多線程的意思,所以能希望delphi高手能夠給我
舉一個形象簡單但有完成的雙線程例子,本人得到開導以后,將不勝感激.
(2)例外如果兩個線程同時對一數組訪問,會引起問題嗎?
(3)我想一邊用mediaplayer放avi動畫,另一邊用pixels(x,y)獲取畫面的顏色信息,將顏色信息
發送到電子顯示牌上去,如果用Timer,顯示牌將不流暢,說明單線程速度不夠快,所以我想如果
用兩個線程,是否能解決速度問題,請您指點,不勝感激.

5 个解决方案

#1


多線程是實現“同時性”而已;
運行速度加快不了多少,可大大提高效率而已:在一個線程的空閑的時刻,
另一個線程利用空閑同時運行了;
平時一般應用對多線程的使用頻率不是太高,只在特殊的情況下,
才用到,如著名的網絡螞蟻,用多線程分塊下載,提高了下載效率;
同時對數組訪問,讀不會沖突,寫可能會有沖突,要協調好;
(3)我想速度提高不了多少,一個線程會占用另一個線程的時間,
除非有的線程空閑時間多,才會提高效率,感覺快了;



#2


1、多線程從外表看來就是兩個進程在同時跑,但實際上還是分時系統。你可以把多線程程序看成是多個exe文件一起跑,這樣理解起來可能更容易一點兒。
2、最好在Synchronize方法中讀取同一數組
3、多線程無法提高太多的速度,解決速度問題不如用隔行掃描顯示的辦法

#3


1、 我推薦一本書《WINDOWS核心編程》,看了后,你會對WINDOWS內核十分了解了
2、 如果兩個線程訪問同一個數據,必須加上互斥處理,否則。。。。。。
    可以用synchronize,但我推薦TCriticalSection,快!!!
3、 如果有I/O處理,多線程才有意義,否則系統將花在線切換上的時間太多了,即核心時間用的太多,用戶時間太少

#4


1.聯系OICQ:233018
2。需要同步,否則有問題:可能不會得到你希望的結果
3。用TIMER時,浪費了很多的CPU時間片

#5


建議您訪問www.etechbase.net/tech,里面有很多資料,也許可以解決您的問題。
訪問http://168.168.18.11:81/etechbase/advsearch.php將您的問題輸入查詢內容框,選擇不同的精確程度,即可以找到你所需要的答案。效果還是可以的。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com