访问www.tomcoding.com网站,学习Oracle内部数据结构,详细文档说明,下载Oracle的exp/imp,DUL,logminer,ASM工具的源代码,学习高技术含量的内容。
OCI提供了一个统一的线程调用接口,使OCI程序能够进行线程编程,不过这个接口也是有限制的,如果OCI程序运行的操作系统不支持多线程,调用接口就会出错。
要想使用OCI的多线程接口,也是有调用顺序的,OCI的文档只提供了一堆函数,并没有给出函数调用的步骤,在这里我们看一下具体的操作。主调用线程的步骤。
1. 创建一个OCI环境句柄,必须使用OCI_THREADED模式,否则会出现信号11引起的段错误。
2. 线程包在进程级别的初始化操作,调用OCIThreadProcessInit()函数。
3. 初始化线程包的上下文信息,调用OCIThreadInit()函数。
4. 为每个要创建的线程初始化线程ID,调用OCIThreadIdInit()函数。
5. 为每个要创建的线程初始化线程句柄,调用OCIThreadHndInit()函数。
6. 创建每一个线程,调用OCIThreadCreate()函数。
7. 子线程分别开始执行,主线程调用OCIThreadJoin()函数,等待每个子线程结束。
8. 主线程关闭每个子线程句柄,调用OCIThreadClose()函数。
9. 主线程销毁每个子线程的ID和句柄,调用OCIThreadIdDestroy()和OCIThreadHndDestroy()函数。
10. 主线程结束线程包上下文,调用OCIThreadTerm()函数。

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



