最新评论
Re:架设流媒体服务器 antoniozhou 2011-12-29 19:57
@肥燕子
没有问题,敬请期待新版本。
Re:架设流媒体服务器 肥燕子 2011-12-28 17:19
挺好的,我用了,不过就是那个FLASH播放界面,能不能多提供些主题?
Re:架设流媒体服务器 antoniozhou 2011-12-23 17:49
@佳贛
没有问题,将player.swf播放器和player.js脚本嵌入html页面即可,用什么样的web服务器无关紧要。
Re:架設流媒體服務器 佳贛 2011-12-21 22:40
UMS有方法可以跟IIS搭配使用吗?
也就是IIS负责处理一般网页程式,Flash则由UMS负责
Re:架设流媒体服务器 john23.net 2011-12-19 14:43
顶下
Re:架设流媒体服务器 longware 2011-12-19 10:35
[quote]peace:顶一下[/quote]
Re:架设流媒体服务器 peace 2011-12-18 18:14
顶一下
re: NASM、MASM浅谈 MichealY 2009-03-26 09:04
thx.
re: NASM、MASM浅谈 Astar 2008-10-24 00:11
re: 多线程编程之使用工作线程实现文档自动保存(II) L4qiang 2007-11-01 17:08
ontimer函数好像计时是受到系统正在运行程序影响,计时不是很准确,这个问题如何解决?
re: 多线程编程之使用工作线程实现文档自动保存(II) 计算银行ComputeBank 2006-08-18 15:28
对MFC不是很熟悉~~
感谢啊~~
看来有空我该研究一下MFC了~
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
我的Blog,创业、思考与探讨下一代计算技术:
http://computebank.spaces.live.com/
http://www.zhangcheng.name
感谢啊~~
看来有空我该研究一下MFC了~
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
我的Blog,创业、思考与探讨下一代计算技术:
http://computebank.spaces.live.com/
http://www.zhangcheng.name
re: 多线程编程之使用工作线程实现文档自动保存(I) antoniozhou 2006-08-15 23:41
@Ying-Shen
在我们的CAD系统中,对真实的文档,只有UI线程可以进行修改,即使是自动保存辅助线程也不能对该文档进行修改。辅助线程只是对临时备份文件进行不断的更新,它并不能在UI线程占用用户文档的读写权限的时候对该文档进行任何操作。原因是由产生文档的CDocument的派生类,即与UI线程相关联的文档类在其封装之初就已经与UI线程形成依赖关系,所以,该类中能对用户文档进行操作的OnSaveDocument()函数不能被辅助线程调用,因此,也就不能实现存储操作。
将临时备份文件更新到用户文件只是一个简单的覆盖过程,而这一过程的发生也是需要在UI线程释放对其读写权限时才能实现。即,必须在用户关闭某一View窗口时才发生覆盖,否则,便只能采用手动保存更新用户文档。
关于BulletinBoard,则就像是我们通常用的BBS(BulletinBoards)系统,所有顺序创建的对象都被顺序记录在这一类结构对象中,这些对象都有一个指针。要使用哪个对象,就将其对象指针设为可用;反之,将其对象指针设为空。
是的,并不排除有这样的情况发生。
在我们的CAD系统中,对真实的文档,只有UI线程可以进行修改,即使是自动保存辅助线程也不能对该文档进行修改。辅助线程只是对临时备份文件进行不断的更新,它并不能在UI线程占用用户文档的读写权限的时候对该文档进行任何操作。原因是由产生文档的CDocument的派生类,即与UI线程相关联的文档类在其封装之初就已经与UI线程形成依赖关系,所以,该类中能对用户文档进行操作的OnSaveDocument()函数不能被辅助线程调用,因此,也就不能实现存储操作。
将临时备份文件更新到用户文件只是一个简单的覆盖过程,而这一过程的发生也是需要在UI线程释放对其读写权限时才能实现。即,必须在用户关闭某一View窗口时才发生覆盖,否则,便只能采用手动保存更新用户文档。
关于BulletinBoard,则就像是我们通常用的BBS(BulletinBoards)系统,所有顺序创建的对象都被顺序记录在这一类结构对象中,这些对象都有一个指针。要使用哪个对象,就将其对象指针设为可用;反之,将其对象指针设为空。
是的,并不排除有这样的情况发生。
re: 多线程编程之使用工作线程实现文档自动保存(I) Ying-Shen 2006-08-15 22:41
@antoniozhou
如果修改数据的不是用户呢?不知道你们的系统中除了UI线程和辅助保存文档的线程还有没有其它的工作线程会修改文档。或者说某个UI的功能使用了Timer来定时/延迟更新文档?
我不是做CAD系统的所以也不太了解你说的BulletinBoard结构顺序记录能解决这个同步问题的原因,你能说说吗?
还有我想如果建模核心里已经做到了线程安全的话,那就没问题了,最坏情况下我们应该可以得到一个格式正确但是数据稍有错误的文件。
如果修改数据的不是用户呢?不知道你们的系统中除了UI线程和辅助保存文档的线程还有没有其它的工作线程会修改文档。或者说某个UI的功能使用了Timer来定时/延迟更新文档?
我不是做CAD系统的所以也不太了解你说的BulletinBoard结构顺序记录能解决这个同步问题的原因,你能说说吗?
还有我想如果建模核心里已经做到了线程安全的话,那就没问题了,最坏情况下我们应该可以得到一个格式正确但是数据稍有错误的文件。
re: 多线程编程之使用工作线程实现文档自动保存(I) antoniozhou 2006-08-15 18:04
@antoniozhou
另外,在开发这一CAD系统自动保存功能的时候,我们也借鉴了其它具备类似功能的软件,所以采取的是临时文件覆盖保存法。这种方法虽然没有增量保存法迅速和快捷,并且获得的临时文件体积较大(和原文件一样大),但实现起来却比较简单。自动保存过程中,临时文件在每一次保存时都被重写,而工作线程则不会去修改原文件,这样,就避免了多线程对同一文件进行操作而带来的同步问题。
另外,在开发这一CAD系统自动保存功能的时候,我们也借鉴了其它具备类似功能的软件,所以采取的是临时文件覆盖保存法。这种方法虽然没有增量保存法迅速和快捷,并且获得的临时文件体积较大(和原文件一样大),但实现起来却比较简单。自动保存过程中,临时文件在每一次保存时都被重写,而工作线程则不会去修改原文件,这样,就避免了多线程对同一文件进行操作而带来的同步问题。
re: 多线程编程之使用工作线程实现文档自动保存(I) antoniozhou 2006-08-15 17:56
@Ying-Shen
我明白你所说的情况,就是用户在后台辅助工作线程保存文档的过程中又对文档进行了操作,会不会导致文档内容上的错乱问题。这一点我也考虑过。我们也曾做过类似的实验,通常情况下,辅助工作线程保存一个我们自己的经过压缩存储后2.5MB大小(释放到内存中在40MB大小左右)的CAD零件文件所耗费的时间小于1秒。该实验零件其实是一个厂房的立体图,数据量比较庞大,绝大多数情况下在一秒的时间里很难有太大的操作,所以,上述保存方式还是可以适用的。另外,该CAD系统使用的是ACIS建模核心。不管是ACIS还是Parasolid核心,都有一个存放操作的BulletinBoard结构,这种结构是顺序记录的。因此,基于该BulletinBoard的文件保存也是顺序的,从而避免了上述情况的发生。
我明白你所说的情况,就是用户在后台辅助工作线程保存文档的过程中又对文档进行了操作,会不会导致文档内容上的错乱问题。这一点我也考虑过。我们也曾做过类似的实验,通常情况下,辅助工作线程保存一个我们自己的经过压缩存储后2.5MB大小(释放到内存中在40MB大小左右)的CAD零件文件所耗费的时间小于1秒。该实验零件其实是一个厂房的立体图,数据量比较庞大,绝大多数情况下在一秒的时间里很难有太大的操作,所以,上述保存方式还是可以适用的。另外,该CAD系统使用的是ACIS建模核心。不管是ACIS还是Parasolid核心,都有一个存放操作的BulletinBoard结构,这种结构是顺序记录的。因此,基于该BulletinBoard的文件保存也是顺序的,从而避免了上述情况的发生。
re: 多线程编程之使用工作线程实现文档自动保存(I) Ying-Shen 2006-08-15 17:04
如果前台线程改文档状态后台线程保存文档,这样会不会出现数据不一致导致文件保存不正确的情况?

