http://www.resc.rdg.ac.uk/twiki/bin/view/Resc/InfernoTutorial
смотреть тут.
написано - взять копию папки inferno из /usr и засунуть ее туда же с именем пользователя. видимо это usr/inferno типа шаблон для пространства пользователя? тайна сия велика есть. но написано открытым текстом - скопировать и все тут.
а чтоб удалить - небось просто удалить папку с именем пользователя?
стабильнее она уж точно не становится. когда вы работаете не с типизированными данными, а с каналами байт(например), интерпретируя эти байты как душе угодно, фактически вы теряете всякую типизацию. отсюда неуловимые компилятором ошибки, и сложность в апгрейде вашего кода, поскольку изменись формат данных в вашем канале, вы будете глазками искать и ручками править, все места, где новый формат канала требует исправления кода интерпретирующего этот формат.
посмотрел инферну по даигонали, такое впечатление что язык писали люди, настрадавшиеся от скриптов. причем так и не понявшие причины своих страданий...чуть не каждый пример чего-либо сносного предлагает накосячить какой-то скрипт,...а ведь инструментом обьявляется сильно типизированный лимбо!
короче вопрос. синхронизация синхронизацией, а где таймауты елы палы? ну сел я читать канал...а когда я с него соскочу, если туда писать забыли...или писали писали и вдруг забыли?
ну запустил я процедуру как тред, она читает канал, а туда писать перестали. тред застрял, как его убить?
-почему в сильно типизированном языке полным ходом неявно декларируюся переменные просто по типу присваивающего выражения?
навроде myvar:=Expression;
это всегда считалось дурным тоном, когда переменные не декларируются явно с нужным типом, а возникают из "воздуха". да конечно, присвавающее выражение всегда имеет некий тип, и компилятор его знает, но! тип неявный, и читатель программы должен особо разбираться в приведении типов в выражениях и самих типах членов выражения.
запуск просто функции как треда - вроде слабовато? как треду приделать собственные переменные, коотрыми будут пользоваться функции вызываемые в треде? в яве тред это обьект класса, с собственными переменными класса, коими пользуются методы этого класса. все ок. а тут как делать? ручками делать запись - контекст треда? и потом передавать на нее указатель другим функциям? непонятно..впрочем смотрел по диагонали.
блокировку совместно используемых переменных тоже вроде предлагется делать ручками? ничего подобного синхронайзд вроде нет? опять же синхронайзд должен быть с таймаутом, инача встанешь в ожидание освобождения блокировки обьекта и никогда не выйдешь из него.
как работать-то?
подскажите.
смотреть тут.
написано - взять копию папки inferno из /usr и засунуть ее туда же с именем пользователя. видимо это usr/inferno типа шаблон для пространства пользователя? тайна сия велика есть. но написано открытым текстом - скопировать и все тут.
а чтоб удалить - небось просто удалить папку с именем пользователя?
короче вопрос. синхронизация синхронизацией, а где таймауты елы палы? ну сел я читать канал...а когда я с него соскочу, если туда писать забыли...или писали писали и вдруг забыли?
ну запустил я процедуру как тред, она читает канал, а туда писать перестали. тред застрял, как его убить?
-почему в сильно типизированном языке полным ходом неявно декларируюся переменные просто по типу присваивающего выражения?
навроде myvar:=Expression;
это всегда считалось дурным тоном, когда переменные не декларируются явно с нужным типом, а возникают из "воздуха". да конечно, присвавающее выражение всегда имеет некий тип, и компилятор его знает, но! тип неявный, и читатель программы должен особо разбираться в приведении типов в выражениях и самих типах членов выражения.
запуск просто функции как треда - вроде слабовато? как треду приделать собственные переменные, коотрыми будут пользоваться функции вызываемые в треде? в яве тред это обьект класса, с собственными переменными класса, коими пользуются методы этого класса. все ок. а тут как делать? ручками делать запись - контекст треда? и потом передавать на нее указатель другим функциям? непонятно..впрочем смотрел по диагонали.
блокировку совместно используемых переменных тоже вроде предлагется делать ручками? ничего подобного синхронайзд вроде нет? опять же синхронайзд должен быть с таймаутом, инача встанешь в ожидание освобождения блокировки обьекта и никогда не выйдешь из него.
как работать-то?
подскажите.