logo
预览版
标准版
您当前访问的是 喵宅苑 MewoGarden × 技术宅II 预览版网页,若要正常使用功能请戳我前往标准版
帖子对应的标准版页面请点击帖子下方[→标准版]按钮
月夜猫妖

不知道你们有没有过这样的问题,就是在调用api实现utf8到gbk转换的时候单线程没问题,一旦多线程、密集调用就容易报错,有人知道解决方法吗?

jimsshom

月夜猫妖 发表于 2013-6-1 12:27 【链接登录后可见】

其实是因为在使用的时候系统需要把一个很大的表映射到内存,但是频繁调用的时候会出现内存分配错误然后导致 ...

:64:好吧,你觉得你自己理解了就行。。。我是不太理解为啥频繁调用内存分配会出错。是因为每个线程有用一个单独的对象,导致

【查看更多内容请登录哈】

月夜猫妖

其实是因为在使用的时候系统需要把一个很大的表映射到内存,但是频繁调用的时候会出现内存分配错误然后导致崩溃

SilverBullet

互斥导致泄露?

jimsshom

月夜猫妖 发表于 2013-5-31 22:25 【链接登录后可见】

解决了,就是因为线程密集调用导致失败

密集调用失败算是什么问题呢。。。好像没有程序会因为压力太大就出错吧?

感觉要么是多线程不安全,要么是哪边有内存泄露,导致压力大的时候会挂掉。

月夜猫妖

jimsshom 发表于 2013-5-31 18:37 【链接登录后可见】

转换的对象是怎么用的?多个线程用同一个对象?对象是否是线程安全的?

解决了,就是因为线程密集调用导致失败

jimsshom

转换的对象是怎么用的?多个线程用同一个对象?对象是否是线程安全的?

月夜猫妖

本帖最后由 月夜猫妖 于 2013-5-30 18:42 编辑

Mr_Alex 发表于 2013-5-30 14:23 【链接登录后可见】

具体的错误是什么

提示内存分配失败或者就是指针超程之列的,而且单步执行的时候(就是把后个语句换成输出计数)就发现在错误出在调用api时

Mr_Alex

具体的错误是什么