⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_14221.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:14221 发表者:feixp 发表日期:2002-09-04 20:29:08
<br>主题:线程之间怎么样传递比较大的数据?
<br>内容:线程之间一般的传递数据可以通过定义公共变量得到<BR>但对于比较大的数据量来说这样是不太合理的<BR>请问有什么方法可以实现?<BR>或者那里有相关的资料?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:子龙 回复日期:2002-09-04 21:52:03
<br>内容:file mapping<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:jackyxio 回复日期:2002-09-05 00:32:42
<br>内容:你所指的比较大的数据是多大,有些什么要求和限制!方法是有很多,具体看应用要求和个人喜好!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:feixp 回复日期:2002-09-05 08:34:05
<br>内容:10k左右
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:凯凯 回复日期:2002-09-05 08:42:56
<br>内容:用数组或链表什么的做公用变量不就得了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:老洪 回复日期:2002-09-05 09:11:06
<br>内容:使用file mapping的机制创建一个基于内存的maping。你可以在线程之间传送大量的(数以G计的)数据而对效率影响很小。对该map的使用和管理和用共享内存是一样的。<BR>但是对该map的访问进行同步。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:jackyxio 回复日期:2002-09-05 10:40:47
<br>内容:用内存映射是不错!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:凯凯 回复日期:2002-09-05 12:27:54
<br>内容:在同一进程中,用MAP并没有任何效率上的优势。而且MAP位于系统内存空间,实在没必要。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:jackyxio 回复日期:2002-09-05 14:23:59
<br>内容:就算没有优势,也没有歹势。<BR><BR>用已有机制比你自己写的什么数组和链表要好很多!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:凯凯 回复日期:2002-09-05 16:58:15
<br>内容:这和用数组和链表是两个概念,即使用MAP,你还是得用数组或是其他的数据结构来组织数据。用MAP只是把数据放到了系统内存空间,并不解决其他的任何问题。用公有变量,数据在进程的私有地址空间,仅此而已,于什么“已有机制”无关。在这种情况下用MAP和不用没什么两样。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:零 回复日期:2002-09-05 19:37:56
<br>内容:而且MAP位于系统内存空间 ?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:零 回复日期:2002-09-05 21:24:57
<br>内容:use VirtualAlloc() etc VirtualXxxx() APIs to allocate 3 pages (4k/page)<BR>can be OK for your requirement, which is a suitable way for large block memory.<BR>but it is just raw memory as PANKAI said. u must build your own<BR>algorithm to manage it. <BR><BR>using HeapXXXX APIs can do also and which includes block management algorithm<BR>while the size of heap looks not so big.<BR><BR>the alternatives depend on your usage of memory, whether few big block<BR>or whether many small block.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:史列因 回复日期:2002-09-06 10:44:29
<br>内容:new一大块内存再加上一个Critical Section不就完了。或者再用一个类好歹封装一下。<BR>好像Win98下File map确实位于系统空间,但2000下就不是。<BR>不管怎么说,用File Mapping比用new麻烦多了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -