История изменений
Исправление Shadow, (текущая версия) :
Списки большие, обрабатывать без нескольких потоков очень долго
Для ускорения обработки данных используют numpy, он умеет в параллель обрабатывать отдельно от питона («векторные вычисления»)
Но второй поток получает список2 с первоначальными данными, а не с обработанными в первом потоке.
Безотносительно данного случая, архитектура питона такова, что всё равно все эти «потоки» будут обрабатываться в одном треде процессора, поэтому имеет смысл доразобраться с multiprocessing. На numpy это не очень распространяется, так как это табличный процессор, написанный на C, к которому обращается питон.
Опишите более конкретно тип данных, тип обработки, что хотите получить на выходе. Питон в 90% - это «клей» для готовых компонентов, написанных на более быстрых языках. Потому как по вашему вопросу хочется запустить threading с очередью сообщений и семафорами/событиями и т.п., что может добавить отзывчивости программе, но никак не решить вопрос.
Сейчас первая функция работает в цикле и обрабатывает список поштучно
Подозреваю, что numpy вам хватит с головой: https://www.geeksforgeeks.org/how-to-map-a-function-over-numpy-array/
Исправление Shadow, :
Списки большие, обрабатывать без нескольких потоков очень долго
Для ускорения обработки данных используют numpy, он умеет в параллель обрабатывать отдельно от питона («векторные вычисления»)
Но второй поток получает список2 с первоначальными данными, а не с обработанными в первом потоке.
Безотносительно данного случая, архитектура питона такова, что всё равно все эти «потоки» будут обрабатываться в одном треде процессора, поэтому имеет смысл доразобраться с multiprocessing. На numpy это не очень распространяется, так как это табличный процессор, написанный на C, к которому обращается питон.
Опишите более конкретно тип данных, тип обработки, что хотите получить на выходе. Питон в 90% - это «клей» для готовых компонентов, написанных на более быстрых языках. Потому как по вашему вопросу хочется запустить threading с очередью сообщений и семафорами/событиями и т.п., что может добавить отзывчивости программе, но никак не решить вопрос. Подозреваю, что numpy вам хватит с головой.
Исправление Shadow, :
Списки большие, обрабатывать без нескольких потоков очень долго
Для ускорения обработки данных используют numpy, он умеет в параллель обрабатывать отдельно от питона («векторные вычисления»)
Но второй поток получает список2 с первоначальными данными, а не с обработанными в первом потоке.
Безотносительно данного случая, архитектура питона такова, что всё равно все эти «потоки» будут обрабатываться в одном треде процессора, поэтому имеет смысл доразобраться с multiprocessing. На numpy это не очень распространяется, так как это табличный процессор, написанный на C, к которому обращается питон.
Опишите более конкретно тип данных, тип обработки, что хотите получить на выходе. Питон в 90% - это «клей» для готовых компонентов, написанных на более быстрых языках. Потому как по вашему вопросу хочется запустить threading с очередью сообщений и семафорами, что может добавить отзывчивости программе, но никак не решить вопрос.
Исправление Shadow, :
Списки большие, обрабатывать без нескольких потоков очень долго
Для ускорения обработки данных используют numpy, он умеет в параллель обрабатывать отдельно от питона («векторные вычисления»)
Но второй поток получает список2 с первоначальными данными, а не с обработанными в первом потоке.
Безотносительно данного случая, архитектура питона такова, что всё равно все эти «потоки» будут обрабатываться в одном треде процессора, поэтому имеет смысл доразобраться с multiprocessing. На numpy это не очень распространяется, так как это табличный процессор, написанный на C, к которому обращается питон.
Опишите более конкретно тип данных, тип обработки, что хотите получить на выходе. Питон в 90% - это «клей» для готовых компонентов, написанных на более быстрых языках.
Исходная версия Shadow, :
Списки большие, обрабатывать без нескольких потоков очень долго
Для ускорения обработки данных используют numpy, он умеет в параллель обрабатывать отдельно от питона («векторные вычисления»)
Но второй поток получает список2 с первоначальными данными, а не с обработанными в первом потоке.
Безотносительно данного случая, архитектура питона такова, что вс равно все эти «потоки» будут обрабатываться в одном треде процессора, поэтому имеет смысл доразобраться с multiprocessing. На numpy это не очень распространяется, так как это табличный процессор, написанный на C, к которому обращается питон.