Многопоточность Python / Jython замедляет выполнение моего кода - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть сценарий (jython и python), который, как предполагается, требует некоторого интенсивного хэширования и вычислений, и это было очень медленно 500K Hash / H, поэтому я хотел попробовать сделать это в многопоточности, и я заметил, что время выполнения былоподнимаясь каждый раз, когда я добавляю больше потоков

Я пытался создать поток как класс, и без класса это всегда было одинаково, даже если я не использую.вот простой код

class MyThread(Thread):
   def __init__(self,val):
       ''' Constructor. '''
       Thread.__init__(self)
       self.val = val
   def run(self):
       k = self.valy *slef.vale
       print(k)

x=0
j=0
k=0
testlist_list=[]
threads = []
for item in range(0,10000000)

     i= i+1
     testlist_list.append(i)



     if len(pass_list)>= 4:
         pass1 =pass_list[0]
         myThreadOb1 = MyThread(pass_list[0])
         myThreadOb1.setName('Thread 1')
         pass2 =pass_list[1]
         myThreadOb2 = MyThread(pass_list[1])
         myThreadOb2.setName('Thread 2')
         myThreadOb3 = MyThread(pass_list[2])
         myThreadOb3.setName('Thread 2')
         myThreadOb4 = MyThread(pass_list[3])
         myThreadOb4.setName('Thread 2')



         myThreadOb1.start()
         myThreadOb2.start()
         myThreadOb3.start()
         myThreadOb4.start()
         pass_list=[]


     if x > 100000:
         end = datetime.datetime.now()
         delta  =end-start
         print( str(x) +" took " + str(delta) + " sec" ) 

Что-то не так с тем, как я это делаю?

...