python如何为当前进程获得锁和解除锁


不是在实现线程的类中的某个函数中获得线程的锁,而是在执行其他的函数的时候为当前进程获得锁。
`


 def distribution_load(self, G, i, a):
    #获得节点i的所有邻居节点
    n = G.neighbors(i)
    # 求i节点的所有邻节点的总负荷
    all_load = 0
    for j in n:
        all_load += self.staring_load(G, j, a)
    #分配多余副负荷
    for j in n:
        # 由崩溃节点i分配到节点j上的概率
        j_probability = self.staring_load(G, j, a) / all_load
        #向邻节点j上分配负荷
        #锁定线程
        #***这里应该如何写?***
        if j in G.neighbors(i):
            self.load[j] += self.staring_load(G, j, a) * j_probability
            #删除节点i与j之间的边
            G.remove_edge(i,j)
        #释放锁
        #***还有这里。。。***
    #结束线程myThreadi
    locals()['myThread%d'%i].join()

`

刚刚开始学习线程的使用,不清楚这么写是否还有什么问题,如果有的话希望大神帮忙指正。

python 多线程

卖萌什么的 9 years, 10 months ago

Your Answer