阅读:1459回复:6
两个线程同时对一块内存访问,一个读文件到这块内存,一个MEMCPY把数据拷到别处去,会发生什么事?
谢谢
|
|
|
沙发#
发布于:2003-06-09 11:52
比如读线程的时间片完了,它还没读完东西,这时写线程放入了新的东西,像下面这样:
读入“Here I\'m writing something\",但是读到writing前面时时间片完了,开始写memeory的线程,这个线程写入\"Here I\'m writing nothing\",接着读线程又得到时间片,那么你说,你读到了什么内容呢? 所以要同步。 |
|
板凳#
发布于:2003-06-09 12:52
不可预料的事。
有很多用来同步的对象的,比如mutex,critical section等等。 如果是默认heap的,已经同步了。 |
|
地板#
发布于:2003-06-09 12:53
这还是driver论坛吗。。。
[url] www.cdsn.net[/url] |
|
地下室#
发布于:2003-06-10 12:57
///////////////////////////////////
这还是driver论坛吗。。。 ////////////////////////////////// arthurtu兄: driver和APP一脉相承,别那么死板嘛。有谁只写driver不写APP的? |
|
|
5楼#
发布于:2003-06-11 22:16
我觉得csdn太杂,这里嘛!人比较少啊!
|
|
|
6楼#
发布于:2003-06-13 00:42
你必须对这块内存的读写作同步处理,要么可以使用event,或是锁定此块内存,否则不能保证你读出的数据是你所期望的数据。
|
|