我想实现基于文件的自动增量标识值(在int值存储在TXT文件中),我想办法处理并发问题的最佳方法。 此身份将用于我的内容的唯一ID。 当保存新内容时,这个文件被打开,值被读取,递增,新的内容被保存,并且递增的值被写回到文件(不pipe我们存储下一个可用的ID还是最后发布的ID并不重要)。 在这个过程中,另一个过程可能会出现,并尝试保存新的内容。 上一个进程使用fileShare.None打开文件,因此在第一个进程释放之前,没有其他进程能够读取该文件。 虽然这种情况发生的可能性很小,但仍然可能发生。
现在,当这发生时,我们有两个select:
等待文件变得可用 –
当文件被locking时,在C#中模拟等待file.Open
我们在这里讨论的是毫秒,所以我猜这只要发生奇怪的事情就不会成为问题,文件永远不可用,那么这个解决scheme会导致无限循环,所以不是一个理想的解决scheme
强制windows显示系统托盘图标
.NET中的vista / win7放大API
sqlException未处理 – windows CE
在.Net中testingwindows服务
为什么微软不像C ++那样提供像windows.h这样的最原生的函数和结构的静态Win32类?
实现某种队列,并对队列中的文件执行所有 *** 作。 我的用户体验要求是,在保存/修改文件的时候,用户不应该被告知有关exception的信息,或者出现什么问题 – 稍后当 *** 作在队列上失败时,他将通过一个非常友好的用户界面得到有关它们的信息。
在写这篇文章的时候,解决scheme应该可以在ASP.NET MVC应用程序中工作(通过AJAX同步和asynchronous),但是如果可能的话,它应该使用也可以在Silverlight或windows Forms或WPF应用程序中工作的概念。
关于这两种select,你认为哪一种更好?第二种select是什么技术来实现呢?
吐司通知不能在windows秋季创作者更新
如何获得一个图片框中的图像的当前大小
你如何确定上一个修改文件的过程?
如何计算任务pipe理器的内存使用情况?
如何在windows上获得区分大小写的path?
readerwriterlockslim类似乎是同步访问共享资源的一个很好的解决方案。
总结以上是内存溢出为你收集整理的当文件被locking时,稍后对文件 *** 作进行排队全部内容,希望文章能够帮你解决当文件被locking时,稍后对文件 *** 作进行排队所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)