170 похожих чатов

Здравствуйте, у меня вопрос. Почему когда я использую несколько потоков

то они расправляются нагрузку на все ядра процессора, ведь написано что потоки принадлежат процессу, а один процесс нагружает одно ядро. Но у меня получается что потоки которые принадлежат одному процессу нагружают все ядра, в чем причина?

```
import threading


def test_sleep():
while True:
pass


if __name__ == '__main__':
count_tgread = 5

list_thread = []
for x in range(count_tgread):
test_thread1 = threading.Thread(target=test_sleep,daemon=True)
list_thread.append(test_thread1)
test_thread1.start()

for th in list_thread:
th.join()
```

33 ответов

18 просмотров

> а один процесс нагружает одно ядро. ШТА? откуда ты взял эту чушь?

Каким ядром что выполнять решает ось, питон никаких гарантий насчет этого не дает

Kirill Shikhalev
Каким ядром что выполнять решает ось, питон никаки...

Питон только 1 потоку даёт выполнятся в 1 момент времени

Marat Mkhitaryan
Питон только 1 потоку даёт выполнятся в 1 момент в...

Как же вы заебали со своим GIL и одиним потоком.

Alex
Как же вы заебали со своим GIL и одиним потоком.

А что такого? Просто потоки в питоне это асинхрон на самом деле

Свободный-Веткин Автор вопроса
Alex
> а один процесс нагружает одно ядро. ШТА? отку...

Книга "Секреты Python 59 рекомендаций по написанию эффективного кода"

Свободный Веткин
screenshot Книга "Секреты Python 59 рекомендаций по написанию...

Ты прочитал текст и совершенно ни черта не понял что в нем написано.

Свободный Веткин
screenshot Книга "Секреты Python 59 рекомендаций по написанию...

Там мультипроцесс а не тхридинг, они работают по разному

Свободный-Веткин Автор вопроса
Kirill Shikhalev
А при чем тут потоки

В том что потоки нагружают все ядра процессора, хотя они запущенны в одном процессе.

Свободный Веткин
В том что потоки нагружают все ядра процессора, хо...

И опять же это ось решает кто что будет нагружать, не питон

Свободный-Веткин Автор вопроса
Kirill Shikhalev
На твоем скрине ни слова про потоки

Да, процессы могут нагружать все ядра, но почему потоки нагружают их ?

Свободный Веткин
В том что потоки нагружают все ядра процессора, хо...

Минимальной единицей диспетчеризации является поток. Как распределять процессорное время между потоками решает ОС.

Свободный-Веткин Автор вопроса
Kirill Shikhalev
А почему нет

Потому что я запускаю потоки на одно процессе. А один процесс должен задействовать одно реальное ядро, а не все сразу.

Свободный Веткин
Да, процессы могут нагружать все ядра, но почему п...

Потому что исполняются процессором потоки а не процессы

Свободный Веткин
Потому что я запускаю потоки на одно процессе. А о...

Это ось решает что задействовать, кто тебе сказал что процесс должен?

Marat Mkhitaryan
Питон только 1 потоку даёт выполнятся в 1 момент в...

Знаешь, @Tishka17, иногда мне кажется что он тут сидит и троллит окружающих.

Alex
Знаешь, @Tishka17, иногда мне кажется что он тут с...

А разве не 1 поток выполняет питоновский код в 1 момент времени?

а что 🇷🇺
А разве не 1 поток выполняет питоновский код в 1 м...

Смотря что ты понимаешь под питоновским кодом. Вот у тебя питоновский код вызывает системный вызов. Будут другие потоки работать?

а что 🇷🇺
А разве не 1 поток выполняет питоновский код в 1 м...

GIL можно отпустить, например на ожидании сокета или сисколах почти вся стандартная библиотека так и делает

Alex
spoilers!

ой, извините, я не хотел...

а что 🇷🇺
Ну это то и так понятно

Нет, это как раз таки не понятно

S V
Киньте где почитать про это

https://asvetlov.blogspot.com/2011/07/gil.html

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
Гляньте, че бывает: Сегодня по одному проекту одной вебстудии делал проект небольшой, на их хостинге. На Modx revo. В определенный момент , работая в админке, вдруг перестал р...
Artem
7
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
8
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Карта сайта