21.02.2014 / 18:37 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Misha, ах да, точно, там же ещё read. Сейчас ещё подумаю. DominaN, подал бы человеку хороший пример, объяснил, как лучше сделать в его случае.
__________________
let live |
21.02.2014 / 18:39 | |
Misha Пользователь Сейчас: Offline
Имя: Миша Регистрация: 02.03.2012
| aNNiMON, короче получается задача простыми словами такая: вызвать функцию другого потока без блокировки первого и возвратить результат с ожиданием выполнения той функции |
21.02.2014 / 18:44 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Misha, вот, набросал пример на Java SE, думаю разберёшься с принципом работы. По-сути, ты почти всё правильно делал, только вместо interrupt надо вызывать метод join, который ждёт завершения потока. Тьфу ты, без блокировки текущего надо? Пошел опять думать __________________
let live Изменено aNNiMON (21.02 / 18:45) (всего 1 раз)
Прикрепленные файлы: Main.java (1.04 кб.) Скачано 593 раза |
21.02.2014 / 18:45 | |
Misha Пользователь Сейчас: Offline
Имя: Миша Регистрация: 02.03.2012
| aNNiMON, а что, если приостановить работу скрипта, сохранить позицию и дать задачу WinFile возобновить его? да яж гений!) P.S. сейчас посмотрю) я думаю, что нереально так сделать... потому, что Thread не дает запускать функции. легче уже намудрить с тем, что я написал выше) Изменено Misha (21.02 / 18:49) (всего 3 раза) |
21.02.2014 / 18:53 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Misha, держи, готово. С ООП можно всё.
__________________
let live Изменено aNNiMON (21.02 / 18:54) (всего 1 раз)
Прикрепленные файлы: Main.java (1.76 кб.) Скачано 450 раз |
21.02.2014 / 18:55 | |
Misha Пользователь Сейчас: Offline
Имя: Миша Регистрация: 02.03.2012
| aNNiMON, спасибо) не зря заранее плюс поставил сейчас только разберусь |
21.02.2014 / 18:56 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Misha, тебе немного придётся поменять сигнатуру методов, но работает 100%.
__________________
let live |
21.02.2014 / 21:15 | |
Misha Пользователь Сейчас: Offline
Имя: Миша Регистрация: 02.03.2012
| получилось то, что я хотел плюс перенес read в отдельный поток. теперь главная программа (script.mwp) умеет читать и записывать в файлы текст есть 1 баг, но я знаю как исправить - при записи с помощью DataOutputStream, записывается вначале файла инфо о тексте, и без неё DataInputStream.readUTF() не читает) думаю потом сделать проще все и без DOS и DIS
Прикрепленные файлы: MinwinReloaded.7z (393.88 кб.) Скачано 49 раз |
21.02.2014 / 21:32 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Misha, набор public Object callFunction(String f,Vector arg){
try{ .. } catch (Exception e){}
try{ .. } catch (Exception e){}
try{ .. } catch (Exception e){}
try{ .. } catch (Exception e){}
}
в одном методе - быдлокод редкостный. Используй throws: public Object callFunction(String f,Vector arg) throws Exception{ __________________
let live |
21.02.2014 / 21:35 | |
Misha Пользователь Сейчас: Offline
Имя: Миша Регистрация: 02.03.2012
| aNNiMON, я может что-то не понимаю, но я сначала закинул try{}catch(){} на весь метод и понял очень трудно улавливаемый баг когда я делал substring(..) на короткие строчки, выбрасывало полностью, даже не посмотрев другое... тут я понял, что надо сделать отдельно, примерно так P.S. про throws я знаю из JavaSE Изменено Misha (21.02 / 21:35) (всего 1 раз) |