Как сделать код, что заполнит процессор и его ядра на 100%!
Как сделать код, который загрузит ядра на 100%.
Ответы (3 шт):
Автор решения: Sia Minutu
→ Ссылка
Код безобиден, но лучше использовать на хороших ПК.
from threading import Thread
class MyThread(Thread):
def __init__(self, name):
Thread.__init__(self)
self.name = name
def run(self):
for i in range(1000000):
msg = "%s is running" % \
self.name
print(msg)
def create_threads():
for i in range (10000):
name = "Thread #%s" % (i + 1)
my_thread = MyThread(name)
my_thread.start()
if __name__ == "__main__":
create_threads()
Автор решения: Waujito
→ Ссылка
for i in range(100000000):
for a in range(100000000):
print(a)
Что может быть проще?)
Автор решения: Stanislav Volodarskiy
→ Ссылка
multiprocessing.cpu_count возвращает число процессоров в системе. Pool создаёт пул процессов по числу процессоров. Pool.map загружает их бесполезной работой: запускает бесконечный цикл в функции f.
import multiprocessing
def f(_):
while True:
pass
if __name__ == '__main__':
n = multiprocessing.cpu_count()
with multiprocessing.Pool(n) as p:
p.map(f, [None] * n)
P.S. Запуск нескольких нитей внутри одного процесса не поможет из-за GIL (global interpreter lock).