小编st0*_*0ne的帖子

Python:进程在futex(0x2a5fcc0,FUTEX_WAIT_PRIVATE,0,NULL在多线程中挂起

所以我有一个队列:

q = Queue.Queue()
Run Code Online (Sandbox Code Playgroud)

我在里面放一些东西。

items = ["First", "Second"]
for val in items:
    q.put(val)
Run Code Online (Sandbox Code Playgroud)

我正在生成15个线程。

for i in range(15):
   tname = 't-%s' % i
   t = my_thread(some_func, q, tname)
   t.start()

q.join()
Run Code Online (Sandbox Code Playgroud)

my_thread类的外观如下:

class my_thread(threading.Thread):
    def __init__(self, some_func, q_, name=''):
       threading.Thread.__init__(self)
       self.func = some_func
       self.process_q = q_
       self.name = name
       self.prefix = name


    def run(self):
       stime = time.time()
       logging.info('%s thread staring at : %s' % (threading.currentThread().getname(), time.ctime(stime)))
       while True:
           if self.process_q.empty():
               break
           queue_item = self.process_q.get()
           self.name = self.prefix + '-' + …
Run Code Online (Sandbox Code Playgroud)

python queue multithreading futex

3
推荐指数
1
解决办法
6742
查看次数

Haskell中的邻接矩阵到边缘列表

我有1d锦标赛队伍和2d"对手矩阵".

我只想提取每个队伍的对手名单.

我只是在学习Haskell并想知道,如果有人能想到下面已经运行的代码更优雅的解决方案.......也许列表理解?...

码:

findOp :: (Eq a, Num a) => [b] -> [a] -> [b]
findOp (x:xs) (y:ys) | y == 1 = [x] ++ findOp xs ys
                     | otherwise = findOp xs ys

findOp [] [] = []

tab = [[0,1,0,1],
       [1,0,1,0],
       [0,1,0,1],
       [1,0,1,0]]

teams = ["team a",
         "team b",
         "team c",
         "team d" ]

main :: IO ()
main = do
       let games = map (\x -> (fst x, findOp teams $ snd x)) $ zip teams …
Run Code Online (Sandbox Code Playgroud)

haskell graph list multidimensional-array adjacency-matrix

1
推荐指数
1
解决办法
598
查看次数