在AnySQL.net中搜索标签(Tags) 'Mutex' 的结果:
从OCIThread回到POSIX Thread编程模式
我要实现的任务其实很简单, 就是想要每隔一定的时间去数据库中获得一些信息, 获得这些信息可能需要运行八到十个SQL语句, 随着数据库上的连接数, 负荷等的不同, 这些查询所需要的时间是不一定的, 有可能十分之一秒就可以返回, 也可能要几秒. 但是我想要的是以固定的间隔打印出这些数据. 于是我就想了一个主进程, 隔一定的时间去产生一个线程, 由线程去执行这些SQL语句, 打印出信息, 这样可以保证时间是很均匀的. 于是我就从fork到vfork, 再到thread(Solaris), 再到pthread(Solaris和Linux), 然后再到OCIThread. 上了OCIThread后, 还有程序挂起的情况发生, 因此并没有解决我想要解决的问题, 一开始是用自已的变量来防止并行执行OCI调用, 后来改成OCIThreadMutex, 还是一样, 并且发现OCIThread后, 服务器端的Oracle后台进程的CPU消耗要比普通方式高出20%左右, 因此OCIThread并没有优势. 于是退出到了POSIX的线程调用, 这次用了上POSIX上的Mutex. 程序还在测试, 以前用多线程方式时, 总是12小时左右, 整个程序就挂起了. 现在分成两路来测试,...
站内搜索 | Search
总数: 537 | 留言: 1711
- Name: Fangxin Lou
- MSN: anysql©live.com
- Mail:anysql©yahoo.com
anysql©gmail.com - Skype: anysql
- AIM: loufangxin
- Mobile:008615925611590
分类 | Categories
软件下载:
本站基于MT-3.36免费版,
和Fenng设计的模板.
(©)版权所有, 2004 - 2008, www.AnySQL.net, 保留所有权利.
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql