Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import time
- import os
- from random import randint
- from threading import Thread
- inicio = time.time()
- n = 3
- # PARA HACER Numeros aleatorios
- # matrix = [[randint(0,3) for fila in range(n)] for col in range(n)]
- matrix1 = [[1, 2, 3], [3, 4, 5], [3, 2, 1]]
- matrix2 = [[2, 3, 4], [5, 5, 5], [1, 1, 1]]
- matrix3 = [[0 for fila in range(n)] for col in range(n)]
- class Hilo(Thread):
- def __init__(self, matrix1, matrix2, matrix3, n, x, y):
- Thread.__init__(self)
- self.matrix1 = matrix1
- self.matrix2 = matrix2
- self.matrix3 = matrix3
- self.n = n
- self.x = x
- self.y = y
- def run(self):
- global x, y
- for i in range(n):
- matrix3[x][y] += matrix1[self.x][i]*matrix2[i][self.y]
- def main():
- os.system("clear")
- print "\n", matrix1[0], "\n", matrix1[1], "\n", matrix1[2]
- print "\n", matrix2[0], "\n", matrix2[1], "\n", matrix2[2]
- matrix3 = multiplicar(matrix1,matrix2,n)
- print "\n", matrix3[0], "\n", matrix3[1], "\n", matrix3[2]
- fin = time.time()
- tiempo = fin - inicio
- print "\nTiempo de ejecucion: ", tiempo
- def multiplicar(matrix1, matrix2, n):
- global x, y
- hilo = list()
- for x in range(n):
- for y in range(n):
- hilo.append(Hilo(matrix1, matrix2, matrix3, n, x, y))
- hilo[-1].start()
- for h in hilo:
- h.join()
- return matrix3
- main()
Advertisement
Add Comment
Please, Sign In to add comment