2017-08-12 35 views
0

できるだけ多くのスレッドを実行しようとしています。私は可能スレッドエラーが新しいスレッドを開始できません

限り多くのスレッドを実行したい

import threading 
import time 

class startSleep(threading.Thread): 
    def run(self): 

     current = x 

# input of the treads 
thread = input("Threads: ") 

nload = 1 

x = 0 

# Threads 
for x in xrange(thread): 
    startSleep().start() 
    time.sleep(0.003) 
    print bcolors.BLUE + "Thread " + str(x) + " started!" 

:私はこの

クラスstartSleep(threading.Thread)を呼び出すと、しかし私はここに

C:\Python27\lib\threading.py 
    _start_new_thread(self.__bootstrap,()) 
thread.error: can't start new thread 

問題を抱えています

+0

あなたは、このクラスを定義しましたか?なぜ私たちにあなたのコードを見せないのですか? –

+0

エラーがある場合に備えて、 'class sleepStart'をもっと提供してください。 – ContinuousLoad

+0

こんにちは、上記のコードを更新しました –

答えて

1

システムが同時に処理できるスレッド数に制限がありますスレッド内でこれらのスレッドを閉じるか(finishまたはwhileループのいずれかの関数をスレッドすることによって)スレッドを結合するか、これらのスレッドのリストを作成してリスト項目に参加させる必要があります。

list_of_threads.append(example) 
example.start() 
for thread in list_of_threads: 
     thread.join() 
+0

こんにちはmatsbauer、plsできますか?上記の私のコードにそれを表示する?ありがとう!私は答えとしてこれを設定します –

+0

私はあなたがコードで何をしようとしているのかわからない、あなたは多くのスレッドと可能な+ 1を実行していて、クラッシュすると、スレッドの容量を近似するのは非常に難しいこれはさまざまな要因によって異なり、実行するたびに異なります。私のシステムは、他のアプリケーションやプログラムの動作に応じて、800〜5000スレッドを処理できます。あなたは古いものを閉じるときにのみ、もっと多くのスレッドを開くことができます:) – matsbauer

+0

私のコード上で、なぜ900を超えて動かないのですか? –

0

は今、あなたは無制限のスレッドを追加したいと仮定すると、あなたは、単に終了する機能を必要とし、このコードでは、スレッドで終わることはありません - >あなたの無制限のスレッド:

from threading import Thread 

def sleeper(i): 
    print(i) 

i = 0 

while(1): 
    t = Thread(target=sleeper, args=(i,)) 
    t.start() 
    i += 1 
+0

しかし、それは動作しないロジックを得る –

+0

あなたはそれが動作しないことを意味しますか?私の居場所は500.000になり、私はプログラムをやめた。 – matsbauer

+0

チャットできる? –

関連する問題