一段多线程处理的代码

一段多线程处理的代码

line = getline(furl)
   
    while line != '':           
        for th in threadList:
            if not th.isAlive():
                th.addr = line
                th.start()               
                line = getaddr(furl)
                break;

程序读取一个文本,各个线程处理文本里的各行。我的做法是,读取一行,找到已经dead的线程,让这个dead的线程处理这一行。但是代码似乎没有起作用,几个线程都只执行了一次任务就退出了。
1. 已经dead了还怎么处理?
2. 如果没有dead的那不是都没得处理?