
Roman
18.06.2016
22:28:12

IНЖАЛИД DPИЖЕ
18.06.2016
22:28:24
они есть с точки зрения интерфейса

Roman
18.06.2016
22:28:27
вообщем, всё зависит откуда ты смотришь - из ядра или юзерленда.

IНЖАЛИД DPИЖЕ
18.06.2016
22:28:41
POSIX

Google

Uncel
18.06.2016
22:29:02
не завезли в эти ваши линуксы :)

Roman
18.06.2016
22:29:11

IНЖАЛИД DPИЖЕ
18.06.2016
22:29:12
ну это давний спор

Roman
18.06.2016
22:29:59
потому я и говорю, что зависит от того откуда ты смотришь.

Aragaer
18.06.2016
22:31:05
с точки зрения ядра тред это процесс, а процесс это группа процессов

IНЖАЛИД DPИЖЕ
18.06.2016
22:31:08
я попросил не мешать треды и процессы, так как мы говорили в контексте использования их в питоне и в io

Aragaer
18.06.2016
22:31:46
группа процессов имеет общее адресное пространство

IНЖАЛИД DPИЖЕ
18.06.2016
22:31:49
а потом был вброс на тему того что тредов нет -(

Roman
18.06.2016
22:32:30

Aragaer
18.06.2016
22:32:52
плюс для группы процессов есть всякие там общие вещи, типа доставки сигналов на всю группу сразу
и еще где-то должно быть сказано, кто кому должен доставлять SIGCHLD
вобщем целая куча всяких мелочей

Google

Roman
18.06.2016
22:34:57

IНЖАЛИД DPИЖЕ
18.06.2016
22:35:13
да network io отлично работает через треды
кроме того threading имеет хорошую совместимость между системами и питонами

Roman
18.06.2016
22:36:04

IНЖАЛИД DPИЖЕ
18.06.2016
22:36:44
ну как раз кейс где у тебя нет 10к конкарренси
я как раз про это

Roman
18.06.2016
22:37:06

Aragaer
18.06.2016
22:37:53
для любого блокируемого ио пригодятся треды
пайпы в том числе

IНЖАЛИД DPИЖЕ
18.06.2016
22:38:22

Aragaer
18.06.2016
22:38:38
для любого ио, требующего выдерживание временных интервалов, например опрос купюроприемника, который тупо ресетится, если каждые 200мс не получает пинг

IНЖАЛИД DPИЖЕ
18.06.2016
22:39:09
тут просто спор между user threads и kernel-threads

Aragaer
18.06.2016
22:40:39
а кто-то разрешает вот так вот прямо брать и пользовать kernel threads?

IНЖАЛИД DPИЖЕ
18.06.2016
22:41:08
мде, тут проблемы в терминологии
я имею в виду разница между потоками пользовательского пространства

Roman
18.06.2016
22:41:34

Aragaer
18.06.2016
22:41:34
есть такое слово - lightweight threads

IНЖАЛИД DPИЖЕ
18.06.2016
22:41:38
и в режиме ядра

Aragaer
18.06.2016
22:41:40
видимо они имеются в виду

IНЖАЛИД DPИЖЕ
18.06.2016
22:41:50
в режим ядра имеется в виду pthreads

Google

Aragaer
18.06.2016
22:41:56
а что делать с этим нонблоком, если сообщений тупо нет, а пока их нет ничего делать не надо
блокируемые операции это прекрасно

IНЖАЛИД DPИЖЕ
18.06.2016
22:42:20

Roman
18.06.2016
22:42:27

Aragaer
18.06.2016
22:43:07
не-не, я про то, что внутри ядра есть свои собственные треды, исполняемые в контексте ядра. Они зовутся ядерными. "обычные" выполняются в юзерспейсе. Они просто треды/процессы

IНЖАЛИД DPИЖЕ
18.06.2016
22:43:21
шта

Aragaer
18.06.2016
22:43:35
но есть еще лайтвейт треды, где переключение контекста выполняется в юзерспейсе, а с точки зрения ядра это один единственный процесс

IНЖАЛИД DPИЖЕ
18.06.2016
22:43:48
это user-space треды

Aragaer
18.06.2016
22:43:53
например в stackless python на этом все строится

IНЖАЛИД DPИЖЕ
18.06.2016
22:43:58
лайтвейт - это просто ненужный термин я бы сказал
как и green threads
всё одно и тоже

IНЖАЛИД DPИЖЕ
18.06.2016
22:44:26

Aragaer
18.06.2016
22:44:28
https://en.wikipedia.org/wiki/Light-weight_process

IНЖАЛИД DPИЖЕ
18.06.2016
22:44:35
о которых OS вообще не знает

Roman
18.06.2016
22:44:37

Aragaer
18.06.2016
22:44:50
Kernel threads are handled entirely by the kernel. They need not be associated with a process; a kernel can create them whenever it needs to perform a particular task.
хм, узнал про грин треды. Ну там тоже есть свое отличие

IНЖАЛИД DPИЖЕ
18.06.2016
22:45:45
но если ты делаешь threading в питоне то это и есть kernel threads

Google

IНЖАЛИД DPИЖЕ
18.06.2016
22:46:41
а если ты используешь, прости господи gevent - то это user-space треды

Roman
18.06.2016
22:46:44
вообще, уж вы тогда сразу m:n замахнитесь

IНЖАЛИД DPИЖЕ
18.06.2016
22:47:31

Roman
18.06.2016
22:49:44
чтоита
https://en.wikipedia.org/wiki/Thread_(computing)#Models

Aragaer
18.06.2016
22:50:06
интел же хотел, но к этому времени появилось nptl и все забили

IНЖАЛИД DPИЖЕ
18.06.2016
22:50:11
ага, гибридные треды
о них я знал, но без этого термина -)

Roman
18.06.2016
22:50:38

Aragaer
18.06.2016
22:51:01
ну ngpt и загнулось

Admin
ERROR: S client not available

Aragaer
18.06.2016
22:51:21
The NGPT project was subsequently abandoned in mid-2003 after merging its best features into NPTL.

Roman
18.06.2016
22:51:26
NGPT
вообщем-то, сейчас везде 1:1

IНЖАЛИД DPИЖЕ
18.06.2016
22:52:01
всмысле

Roman
18.06.2016
22:52:04
даже в солярке когда-то было m:n, потом сделали 1:1

Aragaer
18.06.2016
22:52:07
1:n

IНЖАЛИД DPИЖЕ
18.06.2016
22:52:13
1:n же

Aragaer
18.06.2016
22:52:16
m:n в ngpt планировалось

IНЖАЛИД DPИЖЕ
18.06.2016
22:52:42
или ты про какое "везде"?

Roman
18.06.2016
22:53:11

Google

IНЖАЛИД DPИЖЕ
18.06.2016
22:53:23
аааа
тогда да

Roman
18.06.2016
22:55:55

IНЖАЛИД DPИЖЕ
18.06.2016
22:56:09
implicity

Roman
18.06.2016
22:56:40
ах... это. ну посмотри на тот же golang.

IНЖАЛИД DPИЖЕ
18.06.2016
22:56:49
да у меня asyncio есть теперь -)
golang уже не нужОн

Roman
18.06.2016
22:57:13

IНЖАЛИД DPИЖЕ
18.06.2016
22:57:41
не выполнения кода конечно же
но ты понял

Roman
18.06.2016
22:58:07
и мне скорость очень и очень важна.

IНЖАЛИД DPИЖЕ
18.06.2016
22:58:44
ммм, подожди
это конечно моя серая зона
но gevent выигрывает у asyncio в кол-во отрабатываемых событий за квант времени
каким образом видео в интернеты это затрагивает?
(и кстати да, нужно засунуть uvloop таки в проект)

Roman
18.06.2016
23:00:17
и если у тебя хоть какая-то логика есть в fastpath - это тоже скажется.

Sergey
18.06.2016
23:01:38
всем добрый ночер. я вот написал на хабре каммент к очередному посту про ИИ, в надежде заманить кого то в дискуссию, но всем пофиг. https://geektimes.ru/company/dronk/blog/277354/#comment_9372922 поофтопим а?

IНЖАЛИД DPИЖЕ
18.06.2016
23:02:39