tests/thread: Allow thread_sleep1 to run without floating point.
This commit is contained in:
parent
53562213c8
commit
63d05228a3
|
@ -3,26 +3,29 @@
|
||||||
# MIT license; Copyright (c) 2016 Damien P. George on behalf of Pycom Ltd
|
# MIT license; Copyright (c) 2016 Damien P. George on behalf of Pycom Ltd
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import utime as time
|
import utime
|
||||||
|
sleep_ms = utime.sleep_ms
|
||||||
except ImportError:
|
except ImportError:
|
||||||
import time
|
import time
|
||||||
|
sleep_ms = lambda t: time.sleep(t / 1000)
|
||||||
|
|
||||||
import _thread
|
import _thread
|
||||||
|
|
||||||
lock = _thread.allocate_lock()
|
lock = _thread.allocate_lock()
|
||||||
n_thread = 16
|
n_thread = 4
|
||||||
n_finished = 0
|
n_finished = 0
|
||||||
|
|
||||||
def thread_entry(t):
|
def thread_entry(t):
|
||||||
global n_finished
|
global n_finished
|
||||||
time.sleep(t)
|
sleep_ms(t)
|
||||||
time.sleep(2 * t)
|
sleep_ms(2 * t)
|
||||||
with lock:
|
with lock:
|
||||||
n_finished += 1
|
n_finished += 1
|
||||||
|
|
||||||
for i in range(n_thread):
|
for i in range(n_thread):
|
||||||
_thread.start_new_thread(thread_entry, (i / 100,))
|
_thread.start_new_thread(thread_entry, (10 * i,))
|
||||||
|
|
||||||
# wait for threads to finish
|
# wait for threads to finish
|
||||||
while n_finished < n_thread:
|
while n_finished < n_thread:
|
||||||
time.sleep(1)
|
sleep_ms(100)
|
||||||
print('done', n_thread)
|
print('done', n_thread)
|
||||||
|
|
Loading…
Reference in New Issue