
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.02.2013, 02:31:01
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
Доброй ночи! Есть класс. У него куча методов. Один из этих методов надо периодически вызывать(каждую секунду например). Так же этот метод может быть вызван из каких-то других функций по ходу выполнения программы и нельзя так допустить, чтобы эти функции пересекались по выполнению так как работают с общими данными. Подскажите скелет того как это всё реализовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 02:45:37
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
Thread? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 02:52:21
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
redwhite90, мысль только такая что делать весь большой класс runnable и внутри run по sleep вызывать метод, который мне надо(update), сделать его synchronized, а со всем классом как работать, так и работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 02:53:14
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
но я как то потоки осмысленно не применял никогда. Боюсь, что это бред ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 08:02:12
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
redwhite90, Цикл for чем не устроил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 09:44:06
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 10:09:48
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
redwhite90Доброй ночи! Есть класс. У него куча методов. Один из этих методов надо периодически вызывать(каждую секунду например). Так же этот метод может быть вызван из каких-то других функций по ходу выполнения программы и нельзя так допустить, чтобы эти функции пересекались по выполнению так как работают с общими данными. Подскажите скелет того как это всё реализовать. wtf? Начнем с конца, вызов метода периодический блокирует вызов из "любого" другого места и наоборот. Можно просто метод сделать синхронизированным Код: java 1. 2. 3. 4. 5. 6. Можно сделать примитивно через семафор , ограничив кол-во "потоков" в методе. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Теперь периодический запуск. ScheduledExecutorService позволяет выполнять задачу периодично с нужным промежутком: Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 11:56:24
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
Озверин, то есть этот единственный метод надо во внутренний класс вытащить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 11:59:31
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
redwhite90Озверин, то есть этот единственный метод надо во внутренний класс вытащить? из чего вы сделали этот вывод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 12:24:59
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
Озверин,сейчас попробовал-все и так работает(без внутренних классов). Просто для меня как то необычно это все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 12:31:48
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
авторpublic class MyClass { final Semaphore semaphore = new Semaphore(1); public synchronized void myMethod() { //body } } тут нет масла масленного? и семафор и synchronized просто... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 12:57:19
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
redwhite90авторpublic class MyClass { final Semaphore semaphore = new Semaphore(1); public synchronized void myMethod() { //body } } тут нет масла масленного? и семафор и synchronized просто... просто копипастил ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 13:27:39
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
Озверин, А что, если мне, допустим, понадобится запускать в отдельных потоках не 1 функцию а 2, 3.... И так чтобы я мог управлять каждой(когда захотел остановил каждый поток(функцию)) И все эти методы в 1 классе находятся. ведь всего 1 метод run и в нем нет параметров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 13:29:52
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
redwhite90, у тебя СЕЙЧАС сколько потоков и кто вызывает ту функцию? Или с нуля проект? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 13:31:37
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
авторScheduledExecutorService schedulerService = Executors.newSingleThreadScheduledExecutor(); schedulerService .scheduleWithFixedDelay(...); и как это остановить кстати? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 13:39:49
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
redwhite90авторScheduledExecutorService schedulerService = Executors.newSingleThreadScheduledExecutor(); schedulerService .scheduleWithFixedDelay(...); и как это остановить кстати? надо читать, как запустить для начала ;( Я вам дал инструменты, почитайте про них, так как иначе вы все сломаете. Еще есть предположение, что вам надо таки осилить какую-нибудь книгу по многопоточности(или java?) Thinking in java ( в 4м издании по моему есть про многопоточность - коротко и ясно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 13:42:01
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
запустить-то у меня получилось. Кстати читал))но пару месяцев назад мало, что понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 13:42:44
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
Petro123, Проект с нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 13:43:34
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
Petro123, всего поток один пока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 13:47:02
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
redwhite90Petro123, всего поток один пока тогда ешь "слона по частям". Делай "по ходу выполнения программы" из твоей фразы . А потом добавишь защиту, если потребуется. Напр. для субд она не нужна. Т.е. делай логику программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 13:53:25
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
наверное не так сформулировал. Код: java 1. 2. 3. 4. 5. 6. 7. и мне надо чтобы я в фон мог запустить 1 метод, потом 3, потом 4, потом вырубить 1, вырубить 4...включить 5..... а насчёт остановить: я бы хотел иметь эти потоки - демонами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 13:56:54
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
redwhite90, в зависимости от того, что поток "делает", вы его можете и вовсе не остановить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 14:00:24
|
|||
|---|---|---|---|
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
с этого бы и начинал, с кода ))))) redwhite90и мне надо чтобы я в фон мог запустить 1 метод - пиши код запуска в потоке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2013, 14:01:46
|
|||
|---|---|---|---|
|
|||
Периодический вызов одной и той же функции через определенные промежутки времени |
|||
|
#18+
Petro123, можно пример кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2129985]: |
0ms |
get settings: |
20ms |
get forum list: |
25ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
50ms |
get topic data: |
20ms |
get forum data: |
5ms |
get page messages: |
107ms |
get tp. blocked users: |
3ms |
| others: | 333ms |
| total: | 575ms |

| 0 / 0 |
