Python - How to wake up a sleeping process- multiprocessing?
Posted
by
user1162512
on Stack Overflow
See other posts from Stack Overflow
or by user1162512
Published on 2014-08-19T09:19:59Z
Indexed on
2014/08/19
10:20 UTC
Read the original article
Hit count: 173
python
|multiprocessing
I need to wake up a sleeping process ?
The time (t) for which it sleeps is calculated as t = D/S
. Now since s
is varying, can increase or decrease, I need to increase/decrease the sleeping time as well. The speed is received over a UDP procotol. So, how do I change the sleeping time of a process, keeping in mind the following:-
If as per the previous speed `S1`, the time to sleep is `(D/S1)` .
Now the speed is changed, it should now sleep for the new time,ie (D/S2).
Since, it has already slept for D/S1 time, now it should sleep for D/S2 - D/S1.
How would I do it?
As of right now, I'm just assuming that the speed will remain constant all throughout the program, hence not notifying the process. But how would I do that according to the above condition?
def process2():
p = multiprocessing.current_process()
time.sleep(secs1)
# send some packet1 via UDP
time.sleep(secs2)
# send some packet2 via UDP
time.sleep(secs3)
# send some packet3 via UDP
Also, as in threads,
1) threading.activeCount(): Returns the number of thread objects that are active.
2) threading.currentThread(): Returns the number of thread objects in the caller's thread control.
3) threading.enumerate(): Returns a list of all thread objects that are currently active.
What are the similar functions for getting activecount
, enumerate
in multiprocessing?
© Stack Overflow or respective owner