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

start [/forum/topic.php?fid=59&msg=38148762&tid=2129985]: |
0ms |
get settings: |
15ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
34ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
93ms |
get tp. blocked users: |
3ms |
| others: | 280ms |
| total: | 468ms |

| 0 / 0 |
