试题详情
- 简答题解释至少3种线程同步方法。
-
(1)使用Condition对象可以在某些事件触发后才处理数据,可以用于不同线程之间的通信或通知,以实现更高级别的同步。Condition对象除了具有acquire()和release()方法之外,还有wait()、notify()、notify_all()等方法。下面通过经典生产者/消费者问题来演示Condition对象的用法。
(2)Queue模块(在Python3中为queue模块)实现了多生产者/多消费者队列,尤其适合需要在多个线程之间进行信息交换的场合,该模块的Queue对象实现了多线程编程所需要的所有锁语义。
(3)Event对象是一种简单的线程通信技术,一个线程设置Event对象,另一个线程等待Event对象。Event对象的set()方法可以设置Event对象内部的信号标志为真;clear()方法可以清除Event对象内部的信号标志,将其设置为假;isSet()方法用来判断其内部信号标志的状态;wait()方法只有在其内部信号状态为真时将很快地执行并返回,若Event对象的内部信号标志为假,wait()方法将一直等待至超时或内部信号状态为真。 关注下方微信公众号,在线模考后查看
热门试题
- 列表可以作为集合的元素。
- python中哪种标识符代表类的私有成员
- 已知x=3,那么执行语句x*=6之后,x
- python中,*是乘号,下列是除号的是
- 表达式min([’11’,’2’,’3’
- 表达式False+1的值为()。
- 字节串b’hello world’和b’
- 表达式[1]*2的值为()。
- 以下选项,不属于程序流程图基本元素的是(
- 假设x是含有5个元素的列表,那么切片操作
- 输出结果为:()
- 查看变量类型的Python内置函数是()
- 已知x=’Python是一种非常好的编程
- os模块中的mkdir方法用于创建()。
- 表达式print(0b10101)的值为
- 编写程序,用户从键盘输入小于1000的整
- 输出结果为:()
- 叙述使用Python操作Access数据
- g=lambdax:3不是一个合法的赋值
- pandas里dataframe对象的a