调用接口后,需增加异常处理的分支,并记录报错日志、提示日志,此处不一一列举。以下是关键步骤的代码示例,不可以直接拷贝运行,仅供参考。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import acl # ...... def run_thread(stream): device_id = 0 # 如果只创建了一个Context,线程默认将这个Context作为线程当前的Context。 # 如果是多个Context,则需要调用acl.rt.set_context接口设置当前线程的Context。 context, ret = acl.rt.create_context(device_id) stream, ret = acl.rt.create_stream() # 调用触发任务的接口。 # .... # 释放资源。 ret = acl.rt.destroy_stream(stream) ret = acl.rt.destroy_context(context) # 创建2个线程,每个线程对应一个Stream。 thread_id1, ret = acl.util.start_thread(run_thread, stream1) thread_id2, ret = acl.util.start_thread(run_thread, stream2) # 显式调用join函数确保结束线程。 ret = acl.util.stop_thread(thread_id1) ret = acl.util.stop_thread(thread_id2) |