C API调用线程安全的问题

yanchang 2008-08-04 02:03:38
场景:Java 通过JNI调用C的API,Java可能是多线程并发调用的

C API:
例如
有状态操作一笔存款,返回余额

LoginSession session;//session

int operate(char* user,char* pwd,double input,double* output){
//登录
login(&session,user,pwd);
//执行操作
save(session,output,input);
//退出
logout(&session);

}

问题:
1、operate是线程安全的吗
2、如果不是,如何确保登录、存款、退出操作是线程安全的
...全文
95 点赞 收藏 9
写回复
9 条回复
tzdjzs 2008年08月04日
[Quote=引用 5 楼 tangyulong1214 的回复:]
不会玩java

不过在linux应该是
pthread_mutex_lock(hMutex);
//执行操作
pthread_mutex_unlock(hMutex);
[/Quote]

回复 点赞
9527他大爷 2008年08月04日
学习
回复 点赞
青葱岁月不可追 2008年08月04日
[Quote=引用 4 楼 ouyh12345 的回复:]
自己做个线程安全的类
[/Quote]
回复 点赞
dongw1023 2008年08月04日
同步与互斥的问题
回复 点赞
tangyulong1214 2008年08月04日
不会玩java

不过在linux应该是
pthread_mutex_lock(hMutex);
//执行操作
pthread_mutex_unlock(hMutex);
回复 点赞
ouyh12345 2008年08月04日
自己做个线程安全的类
回复 点赞
wangdeqie 2008年08月04日
不是
回复 点赞
珍惜生命远离CPP 2008年08月04日
1不是
2加同步
回复 点赞
babyvox1999 2008年08月04日
这个要靠操作系统提供支持
回复 点赞
发动态
发帖子
C语言
创建于2007-09-28

3.2w+

社区成员

24.0w+

社区内容

C语言相关问题讨论
社区公告
暂无公告