python多线程,执行第10个时退出了,为啥啊?
import threading
import time
def tpppppp(qqq):
print (threading.current_thread().name,threading.activeCount(),qqq)
time.sleep(1)
pppp=0
print (type(pppp))
print (threading.current_thread().getName())
while 1:
if threading.activeCount() <= 4:
pppp += 1
tt=threading.Thread(target = tpppppp,args = (str(pppp)))
tt.setDaemon(True)
tt.start()
tt.join()
=====输出如下,第10个就退出了=============
MainThread
Thread-1 2 1
Thread-2 2 2
Thread-3 2 3
Thread-4 2 4
Thread-5 2 5
Thread-6 2 6
Thread-7 2 7
Thread-8 2 8
Thread-9 2 9
Exception in thread Thread-10:
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\threading.py", line 916, in _bootstrap_inner
self.run()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
TypeError: tpppppp() takes 1 positional argument but 2 were given
Exception in thread Thread-11:
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\threading.py", line 916, in _bootstrap_inner
self.run()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
TypeError: tpppppp() takes 1 positional argument but 2 were given
import time
def tpppppp(qqq):
print (threading.current_thread().name,threading.activeCount(),qqq)
time.sleep(1)
pppp=0
print (type(pppp))
print (threading.current_thread().getName())
while 1:
if threading.activeCount() <= 4:
pppp += 1
tt=threading.Thread(target = tpppppp,args = (str(pppp)))
tt.setDaemon(True)
tt.start()
tt.join()
=====输出如下,第10个就退出了=============
MainThread
Thread-1 2 1
Thread-2 2 2
Thread-3 2 3
Thread-4 2 4
Thread-5 2 5
Thread-6 2 6
Thread-7 2 7
Thread-8 2 8
Thread-9 2 9
Exception in thread Thread-10:
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\threading.py", line 916, in _bootstrap_inner
self.run()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
TypeError: tpppppp() takes 1 positional argument but 2 were given
Exception in thread Thread-11:
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\threading.py", line 916, in _bootstrap_inner
self.run()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
TypeError: tpppppp() takes 1 positional argument but 2 were given
...全文
相关推荐
Python3.X 线程中信号量的使用方法示例
### Python3.X线程中信号量的使用方法详解#### 前言在多线程编程中,信号量(Semaphore)是一种常用的同步机制,用于限制可以同时访问某个资源或执行某个任务的线程数量。
python_中文手册
- **2.2.4 交互式启动文件**:介绍了一些系统级的配置文件,如.bashrc或.bash_profile,用于在启动Python解释器时自动执行某些命令。
简明python教程(pdf)
- 示例:`eval("1 + 2")`- **assert语句**: - 断言用于调试,当条件为假时触发异常。 - 示例:`assert x > 0`#### 16. 接下来学习什么?
Python多线程的退出控制实现
Python中的多线程是并发执行任务的重要方式,但在实际应用中,如何有效地控制线程的退出成为了一个关键问题。
python多线程调用exit无法退出的解决方法
在Python编程中,多线程是一个常见的特性,它允许程序同时执行多个任务,提升效率。然而,当涉及到线程管理时,特别是在调用`exit()`函数时,可能会遇到一些问题,比如线程无法正常退出。


