怎样用c语言设计计算程序执行的时间?

怎样用c语言设计计算程序执行的时间?,第1张

C语言中的头文件time.h中定义了库函数clock(),它返回的是从程序运行开始算起的时间,一时钟周期为单位,time.h还定义了符号:CLOCKS_PER_SEC,即一秒钟的时钟周期。这样就简单了,在头文件中加入#include<time.h>,在程序main()主函数的开头定义long now=0;并给把clock()赋值给now,即now=clock();记录程序开始时的时间,clock()会继续增加,但now已经确定为开始那一时刻clock()的值,在程序结尾,算式clock()-now就是程序执行所需的时间,但是是以时钟周期为单位的,如果想得到以秒为单位的时间只要输出(clock()-now)/CLOCKS_PER_SEC就是了,即在程序结尾添加

printf("%lf",(clock()-now)/CLOCKS_PER_SEC);就可以了。

1、把init.ora中如下两个参数打开

JOB_QUEUE_INTERVAL=60

JOB_QUEUE_PROCESSES=4

job_queue_keep_connections=true

然后重启一个库,如果原来已经打开了则不用这步了

2、示例,以下由sqlplus 来执行,具体参照一下相关的文档

VARIABLE jobno number

BEGIN

DBMS_JOB.SUBMIT(:jobno,

’p_test’

SYSDATE,’SYSDATE + 1/72’)

commit

END

DBMS_JOB.SUBMIT(:jobno,//job号

’your_procedure’,//要执行的过程

trunc(sysdate)+1/24,//下次执行时间

’trunc(sysdate)+1/24+1’//每次间隔时间

)

删除job:dbms_job.remove(jobno)

修改job:dbms_job.what(jobno,what)

修改下次执行时间:dbms_job.next_date(job,next_date)

修改间隔时间:dbms_job.interval(job,interval)

停止job:dbms.broken(job,broken,nextdate)

启动job:dbms_job.run(jobno)

例子:

VARIABLE jobno number

begin

DBMS_JOB.SUBMIT(:jobno,

’Procdemo’,

SYSDATE, ’SYSDATE + 1/720’)

commit

end


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9901850.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存