免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: casablinca
打印 上一主题 下一主题

[函数] c++ 中创建文件的上限? creat函数 只有1016, 有无其它更牛的函数? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-03-05 18:58 |只看该作者
楼主何不换个思路,
不如弄个小数据库了,sqlite, berkerlyDB简单省事

论坛徽章:
0
22 [报告]
发表于 2008-03-05 18:59 |只看该作者
原帖由 NalaGinrut 于 2008-3-5 18:49 发表
你想办法弄成child嘛,那个没有限制的

本人新手, 请问child 是什么东西? 多谢

论坛徽章:
0
23 [报告]
发表于 2008-03-05 18:59 |只看该作者
原帖由 casablinca 于 2008-3-5 18:57 发表


程序结束前, 不需要时就关闭, 或者删除.


你尝试第1016次create的时候有多少进程是sleep的?

论坛徽章:
0
24 [报告]
发表于 2008-03-05 19:01 |只看该作者
原帖由 casablinca 于 2008-3-5 18:59 发表

本人新手, 请问child 是什么东西? 多谢


子进程的开启数没有限制,你在每个子进程里面只create一次可不可以?
然后利用sleep,减少同时运作的文件数
不然把上限改了OS也承受不了

论坛徽章:
0
25 [报告]
发表于 2008-03-05 19:35 |只看该作者
ulimit -a

论坛徽章:
0
26 [报告]
发表于 2008-03-05 19:39 |只看该作者
原帖由 casablinca 于 2008-3-5 18:53 发表
修改内核暂不能考虑啊, 毕竟我不能要求购买软件的用户也去修改内核吧.
win32 API 中就有 CreateFile 创建文件的上限就可达10万(大概, 可能更多);
希望linux下能有与此类似的函数.

Linux 下当然有的。
  1. int CreateFile(...){
  2.     return close( creat( ... ) );
  3. }
复制代码

论坛徽章:
0
27 [报告]
发表于 2008-03-06 09:27 |只看该作者
原帖由 cugb_cat 于 2008-3-5 19:35 发表
ulimit -a

更具体一点是ulimit -n

linux中每个进程打开的文件数是有限制的,一般为1024,也就是ulimit -n的值。
这个值是可以修改的,google一下知道了。

不是函数牛不牛的问题。

论坛徽章:
0
28 [报告]
发表于 2008-03-06 09:34 |只看该作者
原帖由 cugb_cat 于 2008-3-5 19:35 发表
ulimit -a

更具体一点是ulimit -n

linux中每个进程打开的文件数是有限制的,一般为1024,也就是ulimit -n的值。
这个值是可以修改的,google一下知道了。

不是函数牛不牛的问题。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
29 [报告]
发表于 2008-03-06 09:44 |只看该作者
大数据量?有多大?
LINUX默认内核可以开1M文件描述符
处理数据少于2GB的话,我都是在内存里面干,不用小文件找麻烦的

论坛徽章:
0
30 [报告]
发表于 2008-03-06 10:56 |只看该作者
原帖由 Kevin_zqw 于 2008-3-5 18:55 发表
没有这样做的必要吧

大数据量也不需要你同时打开这么多文件啊。。。


举双手赞同,除了web服务,很少见到需要这么多文件描述符的,楼主的设计思路有问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP