竹
竹音
Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序里需要启动多个线程,而且不是一次性启动,这些线程属于不同的线程类。
我现在打算使用一个控制线程,它有一个maxthreadcount,标志最多可以开多少个线程。每次开线程的时候,调用控制线程的一个方法,如果当前线程总数小于maxthreadcount,那么该线程可以继续运行,否则,线程挂起,将其句柄放到TList里,每当有一个线程结束,也调用控制线程的一个方法,从Tlist里取出第一个线程,将其resume。控制线程在整个过程中,一直等待进程的关闭事件,啥也不干[]
可是我觉得这种方法有点傻。
我最近看了些帖子,觉得semaphore可能可以实现我所要的功能,不过不会用。
请DFW们指点一下。有更好的方法当然更好。或者,在我的实现方法中,能有些细节方面的指导。
谢谢了~~
我现在打算使用一个控制线程,它有一个maxthreadcount,标志最多可以开多少个线程。每次开线程的时候,调用控制线程的一个方法,如果当前线程总数小于maxthreadcount,那么该线程可以继续运行,否则,线程挂起,将其句柄放到TList里,每当有一个线程结束,也调用控制线程的一个方法,从Tlist里取出第一个线程,将其resume。控制线程在整个过程中,一直等待进程的关闭事件,啥也不干[]
可是我觉得这种方法有点傻。
我最近看了些帖子,觉得semaphore可能可以实现我所要的功能,不过不会用。
请DFW们指点一下。有更好的方法当然更好。或者,在我的实现方法中,能有些细节方面的指导。
谢谢了~~