Re[3]: Скриптовый(?) язык с нативными потоками
От: LuciferSaratov Россия  
Дата: 21.02.10 18:11
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, LuciferSaratov, Вы писали:

LS>>Ну, TCL например. Насколько я знаю, там у него по интерпретатору на поток, поэтому без глобального лока.
MC>А память между потоками разделяемая?

Насколько я знаю, нет — предлагается взаимодействие через очереди сообщений.
Re[3]: Скриптовый(?) язык с нативными потоками
От: Mr.Cat  
Дата: 21.02.10 18:15
Оценка:
Здравствуйте, c-smile, Вы писали:
CS>А что точно такое "шаред мемори между потоками"?
Что угодно, что можно так назвать. Например, если есть понятие "объекта" а-ля питон — чтобы к одному объекту можно было бы обращаться из разных потоков (без всякого там копирования).
Re[3]: Скриптовый(?) язык с нативными потоками
От: c-smile Канада http://terrainformatica.com
Дата: 22.02.10 00:05
Оценка:
Здравствуйте, Critical Error, Вы писали:

CE>Здравствуйте, c-smile, Вы писали:


CS>>А какие проблемы вообще запустить VM в native thread?

CS>>Или нужны threading примитивы встроенные в язык?

CS>>Если второе то язык имени меня такое имеет: http://c-smile.sourceforge.net/


CS>>Вот например:

CS>>http://c-smile.sourceforge.net/samples/threads.htm

CS>>Примитивы thread (объект) и synchronized(mutex) {}


CE>А можно поподробнее об многопоточности в Вашем скриптовом языке?


CE>Как например у Вас реализована работа с GC. Вот предположим объект передается в другой тред и получаются 2 ссылки из разных потоков? Или делается полное копирование объекта?


Объект живет в heap. Heap общий для всех thread.

CE>Или вот если объект видят одновременно два треда, то каким образом удается его не порушить? Блокируется каждый объект в отдельности? Или синхронизацию нужно делать также как и в С++, вручную?


Так же как и в java. Я не знаю как классифицировать, это вручную или нет?
Re[3]: Скриптовый(?) язык с нативными потоками
От: c-smile Канада http://terrainformatica.com
Дата: 22.02.10 04:26
Оценка:
Здравствуйте, alsemm, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


CS>>Вот например:

CS>>http://c-smile.sourceforge.net/samples/threads.htm

CS>>Примитивы thread (объект) и synchronized(mutex) {}

A>А conditional есть?

Нет, так далеко я не заходил. Идея была сделать то же самое что и в Java.

Но это все неправильно имхо. Там должен быть сугубый messaging между потоками. Никаких mutex и прочего.
Re: Скриптовый(?) язык с нативными потоками
От: Aera Беларусь  
Дата: 22.02.10 14:10
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>В итоге разыскиваются lua или python с нативными потоками (поскольку я не знаю, как в них обстоят дела с сабжем — решил поинтересоваться тут, вдруг кто чего подскажет). Цель — внесение некоторых изменений в имплементацию.


Без GIL есть stackless python, со всякими threading штучками.
--
RedApe
Re[2]: Скриптовый(?) язык с нативными потоками
От: Mr.Cat  
Дата: 22.02.10 14:57
Оценка:
Здравствуйте, Aera, Вы писали:
A>Без GIL есть stackless python, со всякими threading штучками.
Хм... там, я так понимаю, упор на легкие потоки и их взаимодействие путем обмена сообщениями. Немного не в ту степь.
Re[4]: Скриптовый(?) язык с нативными потоками
От: alsemm Россия  
Дата: 22.02.10 18:50
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, alsemm, Вы писали:


A>>Здравствуйте, c-smile, Вы писали:


CS>>>Вот например:

CS>>>http://c-smile.sourceforge.net/samples/threads.htm

CS>>>Примитивы thread (объект) и synchronized(mutex) {}

A>>А conditional есть?

CS>Нет, так далеко я не заходил. Идея была сделать то же самое что и в Java.

Так в Java они есть — на любом объекте можно сделать wait()/notify(). Более того, в Java SE5 появились пакеты java.util.concurrent, java.util.concurrent.atomic и java.util.concurrent.locks — все это для более тонкой настройки синхронизации. Целый новый мир

CS>Но это все неправильно имхо. Там должен быть сугубый messaging между потоками. Никаких mutex и прочего.

Это мне чем-то напоминает кооперативную многозадачность, оно?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.