开个帖子随时记录下进度什么什么的吧,很无聊的一个随笔 2
2013-12-24 22:54
281 查看
平安夜,实验室哥们买了一袋苹果分了我一个,打打球写写代码看看火车票然后就这么过了
当然不能少的也还是记录下今天搞到哪里了
反正昨晚的那些传来传去的noncopyable的事情总算大概弄清了,现在把架构都写得清晰了很多,每个client也都有自己的id,并且简化了原本的很多的cout的输出,统一地输出一些有用的信息,在客户端和服务端都是如此,但是今天打球又把手指给搞到了真实蛋疼为什么大冷天就那么容易受伤了可是明明我都已经很注意了,主要是下午看到有十几个人一起打本来昨天打了全场就累死了的但是金堂俺还是被他们诱惑去了
好吧,然后反正现在清晰地能看到客户端那边的每一个线程都干了些什么进行到什么步骤,然后对应的服务端那边又是怎么回应的到了哪个阶段的,但是现在发现的一个最重大的问题就是打开文件的时候哪怕是只读的方式来都是不允许两个线程同时打开的,这个就要涉及到文件锁的问题了,这个以前都是纸上谈兵没有机会好好弄过,明天这算是一个很大的坎也会死一个很重要的问题搞得通就好搞不通就去死,好吧,发现每天晚上睡觉去都会清晰地留下一个比较重要的问题去明天解决,希望也是一个5:59的动力吧这几天一直都是7点半才开始干活这个节奏各种作死。
呵呵,但是更有趣的是后面还要考试呢,计算理论和数据库是最主要的,31号还来个英语口试呢,呵呵,好害怕
以上写于12.24平安夜,Merry Christams
-----------------------------------------------------------------------------------------------
圣诞节早上,果然又是恍然大悟,续昨晚的问题,既然都是在file handler生成的过程中出现了独占的锁访问问题,那么其实就是createfile这个系统的自带库函数的参数设定问题了吧?微软不可能那么傻逼只能独占访问吧?好吧,我发现经常习惯性地查看msdn是非常必要的,看了下msdn的关于creatfile的文档:http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx
才发现,第三个函数就是设定共享模式的函数,而例子那里用的是“0”,就是代表着独占了,还有shared read 和 shared write 的模式的,后面那个听起来好像很腻害很危险很风骚的样子,下次再试试吧,然后现在还暂时没测试,看到这个模式的设定就顿时觉得应该这个问题已经成功hacked了,而昨晚除此之外的应该也很清晰了关于多线程的,好先测试下吧。
测试通过了,在看msdn关于creating的文档还有相关的一些东西,看到了就记录下来,一些觉得可能有用的点:
在倒数第二个参数里面,就是本来例程里面默认的是:FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,这里有一些可选的参数可能可以提高性能,FILE_FLAG_SEQUENTIAL_SCAN,[b]FILE_FLAG_WRITE_THROUGH[/b]
其中这个是msdn对于sequential scan的原话:
Specifying the FILE_FLAG_SEQUENTIAL_SCAN flag can increase performance for applications that read large files using sequential access. Performance gains can be even more noticeable for applications that read large files mostly sequentially, but occasionally skip forward over small ranges of bytes. If an application moves the file pointer for random access, optimum caching performance most likely will not occur. However, correct operation is still guaranteed.
When an application creates a file across a network, it is better to use
当然不能少的也还是记录下今天搞到哪里了
反正昨晚的那些传来传去的noncopyable的事情总算大概弄清了,现在把架构都写得清晰了很多,每个client也都有自己的id,并且简化了原本的很多的cout的输出,统一地输出一些有用的信息,在客户端和服务端都是如此,但是今天打球又把手指给搞到了真实蛋疼为什么大冷天就那么容易受伤了可是明明我都已经很注意了,主要是下午看到有十几个人一起打本来昨天打了全场就累死了的但是金堂俺还是被他们诱惑去了
好吧,然后反正现在清晰地能看到客户端那边的每一个线程都干了些什么进行到什么步骤,然后对应的服务端那边又是怎么回应的到了哪个阶段的,但是现在发现的一个最重大的问题就是打开文件的时候哪怕是只读的方式来都是不允许两个线程同时打开的,这个就要涉及到文件锁的问题了,这个以前都是纸上谈兵没有机会好好弄过,明天这算是一个很大的坎也会死一个很重要的问题搞得通就好搞不通就去死,好吧,发现每天晚上睡觉去都会清晰地留下一个比较重要的问题去明天解决,希望也是一个5:59的动力吧这几天一直都是7点半才开始干活这个节奏各种作死。
呵呵,但是更有趣的是后面还要考试呢,计算理论和数据库是最主要的,31号还来个英语口试呢,呵呵,好害怕
以上写于12.24平安夜,Merry Christams
-----------------------------------------------------------------------------------------------
圣诞节早上,果然又是恍然大悟,续昨晚的问题,既然都是在file handler生成的过程中出现了独占的锁访问问题,那么其实就是createfile这个系统的自带库函数的参数设定问题了吧?微软不可能那么傻逼只能独占访问吧?好吧,我发现经常习惯性地查看msdn是非常必要的,看了下msdn的关于creatfile的文档:http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx
才发现,第三个函数就是设定共享模式的函数,而例子那里用的是“0”,就是代表着独占了,还有shared read 和 shared write 的模式的,后面那个听起来好像很腻害很危险很风骚的样子,下次再试试吧,然后现在还暂时没测试,看到这个模式的设定就顿时觉得应该这个问题已经成功hacked了,而昨晚除此之外的应该也很清晰了关于多线程的,好先测试下吧。
测试通过了,在看msdn关于creating的文档还有相关的一些东西,看到了就记录下来,一些觉得可能有用的点:
在倒数第二个参数里面,就是本来例程里面默认的是:FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,这里有一些可选的参数可能可以提高性能,FILE_FLAG_SEQUENTIAL_SCAN,[b]FILE_FLAG_WRITE_THROUGH[/b]
其中这个是msdn对于sequential scan的原话:
Specifying the FILE_FLAG_SEQUENTIAL_SCAN flag can increase performance for applications that read large files using sequential access. Performance gains can be even more noticeable for applications that read large files mostly sequentially, but occasionally skip forward over small ranges of bytes. If an application moves the file pointer for random access, optimum caching performance most likely will not occur. However, correct operation is still guaranteed.
When an application creates a file across a network, it is better to use
GENERIC_READ | GENERIC_WRITEfordwDesiredAccess than to use GENERIC_WRITE alone. The resulting code is faster, because the redirector can use the cache manager and send fewer SMBs with more data. This combination also avoids an issue where writing to a file across a network can occasionally return ERROR_ACCESS_DENIED.
相关文章推荐
- 开个帖子随时记录下进度什么什么的吧,很无聊的一个随笔
- 面试官让我上机写一个爬虫,没有经验,写的也没什么价值,就是想记录一下
- 发现一个叫阿尔法城的小站(以后此贴为我记录日常常用网址的帖子了)
- [工作随笔]记录一个App项目所遇到的问题及解决
- 无聊的的随笔记录
- swagger-2.6.0 记录一个下午的无聊举动
- VBS随时监视注册表的变化,记录有变化的值或键等信息(包括一个文件内容比较函数)
- 今天需要获取一个网站的web服务反馈回来的数据,找到份不错的帖子关于WebClient类的使用,记录下来·
- SQL 数据库 学习 007 通过一个示例简单介绍什么是字段、属性、列、元组、记录、表、主键、外键 (上)
- 推荐一个超级 简洁 易用 免费 的 在线记事本软件,方便随时记录资料
- SQL 数据库 学习 007 通过一个示例简单介绍什么是字段、属性、列、元组、记录、表、主键、外键 (上)
- 文奇的WY实习连载日记:5.17-如果你觉得生活很无聊,你去问一个程序员,他一天都做了什么。
- SQL 数据库 学习 007 通过一个示例简单介绍什么是字段、属性、列、元组、记录、表、主键、外键
- 决定一个项目进度与质量的关键是什么
- 昨晚开始了为期3个月的初级德语课,课上大家跟老师咿咿呀呀,仿佛回到了蒙学时代,感觉还是不错的!在blog里增加一个GERMAN随笔分类主要是方便自己随时学习,勿怪!Vielen Dank!
- 参与一个项目,你需要学习什么,记录什么?
- 论文写作进度记录 随时更新
- 编写一个学生信息系统的菜单程序,在菜单其中的增加记录的菜单选项中实现对一条学生记录的录入,记录中需要有学号、姓名、性别,年龄籍贯等字段,要求用最合适的控件录入。
- 看一个比较各种语言的帖子的一点看法
- 随笔跟一个朋友谈管理想到的