summaryrefslogtreecommitdiffstatshomepage
path: root/tests/thread/stress_create.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-02-04 23:35:08 +1100
committerDamien George <damien.p.george@gmail.com>2017-02-15 11:12:37 +1100
commit06a12ada48c11a101eb138220cd0e0ca33a612be (patch)
tree816fa9024fb627503cf7be1151aa18aa1ac33ddd /tests/thread/stress_create.py
parent2847d7431d9334220445e93dc7af707821e80d5e (diff)
downloadmicropython-06a12ada48c11a101eb138220cd0e0ca33a612be.tar.gz
micropython-06a12ada48c11a101eb138220cd0e0ca33a612be.zip
tests/thread: Add stress-test for creating many threads.
Diffstat (limited to 'tests/thread/stress_create.py')
-rw-r--r--tests/thread/stress_create.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/thread/stress_create.py b/tests/thread/stress_create.py
new file mode 100644
index 0000000000..2399746cca
--- /dev/null
+++ b/tests/thread/stress_create.py
@@ -0,0 +1,22 @@
+# stress test for creating many threads
+
+try:
+ import utime as time
+except ImportError:
+ import time
+import _thread
+
+def thread_entry(n):
+ pass
+
+thread_num = 0
+while thread_num < 500:
+ try:
+ _thread.start_new_thread(thread_entry, (thread_num,))
+ thread_num += 1
+ except MemoryError:
+ pass
+
+# wait for the last threads to terminate
+time.sleep(1)
+print('done')