請問threadvar有什麼用?(100分)

  • 主题发起人 主题发起人 wmx111
  • 开始时间 开始时间
W

wmx111

Unregistered / Unconfirmed
GUEST, unregistred user!
線程對象不是有封裝嗎?為什麼要用thereadvar?請大蝦舉例在什麼地方一定要用到
threadvar呢?
 
线程局部存储变量,
你申明一个这样的变量,那么几个线程里可以同时使用他,
而且互不干扰,就是一个变量多个线程使用,但是不保持
同步。这个类型的变量效率不高,完全可以用OOP的办法
达到同样的目的,不建议使用,建议把这样的变量搞到
线程类里去
 
我就說嘛,放在類裡不是一樣嘛,干嘛還出個threadvar沒事找事啊。
 
这个是给用API方式编程用的,有的时候灵活使用可以实现很多很好的功能了
 
等等,大蝦說的互不干擾是什麼意思?是不是,多個線程實例改這個變量,就像都在用自
己的私有變量一樣不用擔用別的線程改,是嗎?那不保持同步是什麼意思?
 
对,我 的意思就是这个意思,不保持同步就是说各个线程自己处理自己的threadvar
不影响其他线程同名的threadvar,不用等待其他的线程处理完了再接着处理
 
我再想想,這個threadvar的作用是不是,跟在線程類裡聲明的變量是一樣的作用,只不過
不用在類裡聲明罷了?
 
不啊,这个变量可以给引用了这个单元的其他函数或者类使用,是一个全局变量
 
呵呵,謝謝,這幾我來好好學一下多線程!
 
那在多個線程改這個變量的時候,那主線程在引用這個變量時會得到什麼值?
 
这个只有老天才知道
 
嘿嘿,現在又有點暈了,全局變量,線程局部變量,線程類元素在多線程的情況下怎麼樣
的啊?不明了。:(
全局變量嘛即然是公開出來了就是讓多個線程共用的,所以要改就得同步。
線程類裡的呢,根本就是沒打算給外面的用,所以無所謂了,各用個的。
線程局部,好像又是全局,又像私有的啊?不明哦。
 
你剛剛不是說別的引用單元的函數也可以用的嗎?都不知道那個值是什麼,用這個變量有什
麼用?
 
那ThreadVar就这么用的,
 
接受答案了.
 
看看《Delphi 5开发人员指南》第十一章。
 
謝謝,正在看中。
 
我本來是在看DELPHI7開發指南的,但它為什麼關於THREADVAR就講了那麼幾句,而DELPHI5
講的還不錯哦。
 
后退
顶部