Вниз  Java-программирование (1-ые посты)
- 21.02.2014 / 18:37
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Misha, ах да, точно, там же ещё read. Сейчас ещё подумаю.
DominaN, подал бы человеку хороший пример, объяснил, как лучше сделать в его случае.
__________________
 let live
- 21.02.2014 / 18:39
Misha
  Пользователь

Misha 
Сейчас: Offline
aNNiMON, короче получается задача простыми словами такая:
вызвать функцию другого потока без блокировки первого и возвратить результат с ожиданием выполнения той функции :gg:
- 21.02.2014 / 18:44
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Misha, вот, набросал пример на Java SE, думаю разберёшься с принципом работы.
По-сути, ты почти всё правильно делал, только вместо interrupt надо вызывать метод join, который ждёт завершения потока.
Тьфу ты, без блокировки текущего надо? Пошел опять думать :-D
__________________
 let live

Изменено aNNiMON (21.02 / 18:45) (всего 1 раз)


Прикрепленные файлы:
Main.java (1.04 кб.) Скачано 593 раза
- 21.02.2014 / 18:45
Misha
  Пользователь

Misha 
Сейчас: Offline
aNNiMON, а что, если приостановить работу скрипта, сохранить позицию и дать задачу WinFile возобновить его? :gg: да яж гений!)
P.S. сейчас посмотрю)
я думаю, что нереально так сделать... потому, что Thread не дает запускать функции. легче уже намудрить с тем, что я написал выше)

Изменено Misha (21.02 / 18:49) (всего 3 раза)
- 21.02.2014 / 18:53
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Misha, держи, готово. С ООП можно всё.
__________________
 let live

Изменено aNNiMON (21.02 / 18:54) (всего 1 раз)


Прикрепленные файлы:
Main.java (1.76 кб.) Скачано 449 раз
- 21.02.2014 / 18:55
Misha
  Пользователь

Misha 
Сейчас: Offline
aNNiMON, спасибо) не зря заранее плюс поставил :-D сейчас только разберусь
- 21.02.2014 / 18:56
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Misha, тебе немного придётся поменять сигнатуру методов, но работает 100%.
__________________
 let live
- 21.02.2014 / 21:15
Misha
  Пользователь

Misha 
Сейчас: Offline
получилось то, что я хотел :) плюс перенес read в отдельный поток.
теперь главная программа (script.mwp) умеет читать и записывать в файлы текст :gg: есть 1 баг, но я знаю как исправить - при записи с помощью DataOutputStream, записывается вначале файла инфо о тексте, и без неё DataInputStream.readUTF() не читает) думаю потом сделать проще все и без DOS и DIS


Прикрепленные файлы:
MinwinReloaded.7z (393.88 кб.) Скачано 48 раз
- 21.02.2014 / 21:32
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Misha, набор
  1. public Object callFunction(String f,Vector arg){
  2.   try{ .. } catch (Exception e){}
  3.   try{ .. } catch (Exception e){}
  4.   try{ .. } catch (Exception e){}
  5.   try{ .. } catch (Exception e){}
  6. }
в одном методе - быдлокод редкостный. Используй throws:
public Object callFunction(String f,Vector arg) throws Exception{
__________________
 let live
- 21.02.2014 / 21:35
Misha
  Пользователь

Misha 
Сейчас: Offline
aNNiMON, я может что-то не понимаю, но я сначала закинул try{}catch(){} на весь метод и понял очень трудно улавливаемый баг :)
когда я делал substring(..) на короткие строчки, выбрасывало полностью, даже не посмотрев другое...
тут я понял, что надо сделать отдельно, примерно так :)
P.S. про throws я знаю из JavaSE

Изменено Misha (21.02 / 21:35) (всего 1 раз)
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)