#multithreading #parallel-processing #multiprocessing
Вопрос:
Я хочу параллельно запускать две разные функции на python, я использовал приведенный ниже код :
`def imageEncryptor(image, k1, k2, DyS_box, InDyS_box):
height = image.shape[0]
width = image.shape[1]
# Initializing an empty image to store the encrypted image
enc_Image = np.zeros(shape=[height, width, 1], dtype=np.uint8)
z = 0
for i in range(height):
for j in range(width):
# USing the XOR operation between image pixels and keys
enc_Image[i, j] = image[i, j].astype(int) ^ k1[z]
z = 1
# Substituting all the pixels in the original image using random key
size = height * width
Image_1D = enc_Image.reshape(size)
for i in range(size):
idx = Image_1D[i]
Image_1D[i] = Image_1D[k2[i]]
Image_1D[k2[i]] = idx
# Step confusion using Dynamic S-Box
# convert vector to double
for i in range(size):
Image_1D[i] = DyS_box[InDyS_box[int(Image_1D[i])]]
# Return 2D image
enc_Image = Image_1D.reshape(height, width)
return enc_Image`
Я хочу запустить оба этих метода параллельно, чтобы сэкономить время выполнения и в то же время получить возвращаемое значение.
`# Main
# Step Encryption
enc_red = imageEncryptor(red, k1, k4, DyS_box, InDyS_box)
enc_green = imageEncryptor(green, k2, k5, DyS_box, InDyS_box)
enc_blue = imageEncryptor(blue, k3, k6, DyS_box, InDyS_box)
encryptedImage = recover_image(enc_red, enc_green, enc_blue, h, w)
plt.imshow(encryptedImage)
plt.show()`
Комментарии:
1. Есть ли доступное решение?