微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我写了一个LockedList装饰器我该如何测试?

如何解决我写了一个LockedList装饰器我该如何测试?

from threading import Lock
from threading import Thread

class LockedList(list):
    def __init__(self,*args,**kwargs):
        self._lock = Lock()
        super(LockedList,self).__init__(*args,**kwargs)

    def remove(self,elem):
        with self._lock:
            super(LockedList,self).remove(elem)

    def insert(self,i,self).insert(i,elem)

    def __contains__(self,self).__contains__(elem)


list = [2,3,4]
for i in range(100):
    t1 = threading.Thread(target=list.insert(i,i))
    if i % 2 == 0:
        t2 = threading.Thread(target=list.remove(i))

#10 output
for i in range(len(list)):
    if i % 10 == 0 and i != 0:
        print()
    print(list[i],end=' ')

我为使用locked_list装饰器编写了此代码。但是我不知道如何测试。 测试正确的代码吗? 我想通过使用线程是否会导致竞争条件来测试list.insert()和list.remove()。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。