Thread View: pl.comp.lang.java
2 messages
2 total messages
Started by Wojciech Kaczmarek
Mon, 19 May 1997 09:04
wywolanie metody 'synchronized' wewnatrz paint()
Author: Wojciech Kaczmarek
Date: Mon, 19 May 1997 09:04
Date: Mon, 19 May 1997 09:04
23 lines
1739 bytes
1739 bytes
Mam taki problem: wewnatrz appleta jest Canvas, ktorego tresc musi byc uzalezniona od stanu appleta. Probuje to rozwiazac w ten sposob, ze metoda paint() mojego Canvas na poczatku sprawdza stan zmiennej, ktora jest w applecie zmieniana tylko raz, w zwiazku z tym istnieje bardzo niewielkie prawdopodobienstwo, ze applet bedzie wpisywal cos do tej zmiennej w momencie odwolywania sie do niej przez paint(). W ogole jednak takie niebezpieczenstwo istnieje i dlatego pytam sie, czy w ogole jest sens wywolywac wewnatrz paint() metode 'synchronized' ? Wyobrazam sobie zamieszanie gdy window manager (obojetne czy to bedzie w95 czy X) zaczyna czekac na odpowiedz z monitora obiektu Javy...brrr ... zreszta, czy zrobie synchronized, czy nie, calosc wywala sie ze starym dobrym SIGSEGV (!), z tym ze w odroznieniu od C/C++ dostaje jeszcze kilometrowy "full thread dump" z ktorego mgliscie wynika, ze sprawa rozbija sie o odswiezanie jakiegos elementu awt, tylko ze nie wiadomo czy Canvas'a, czy czegos innego. swoja droga wiele rzeczy widzialem, ale segmentation violation w Javie ?!? wojtek kaczmarek
Re: wywolanie metody 'synchronized' wewnatrz paint()
Author: Piotr Piatkowski
Date: Mon, 19 May 1997 11:30
Date: Mon, 19 May 1997 11:30
28 lines
2125 bytes
2125 bytes
Wojciech Kaczmarek <frk@student.uci.agh.edu.pl> wrote: : Mam taki problem: wewnatrz appleta jest Canvas, ktorego tresc musi byc : uzalezniona od stanu appleta. Probuje to rozwiazac w ten sposob, ze : metoda paint() mojego Canvas na poczatku sprawdza stan zmiennej, ktora : jest w applecie zmieniana tylko raz, w zwiazku z tym istnieje bardzo : niewielkie prawdopodobienstwo, ze applet bedzie wpisywal cos do tej : zmiennej w momencie odwolywania sie do niej przez paint(). W ogole : jednak takie niebezpieczenstwo istnieje i dlatego pytam sie, czy : w ogole jest sens wywolywac wewnatrz paint() metode 'synchronized' ? : Wyobrazam sobie zamieszanie gdy window manager (obojetne czy to bedzie : w95 czy X) zaczyna czekac na odpowiedz z monitora obiektu Javy...brrr : ... Nie bardzo widzę sens - w czym problem? Wystarczy że bezpośrednio po zmianie wartości tej zmiennej wymusisz wykonanie paint (a robi się to chyba przez repaint(), nie pamiętam już) - wtedy nawet jak applet będzie rysować w trakcie zmiany tej zmiennej i wyjdą jakieś śmieci, to zaraz nastąpi ponowne przerysowanie i będzie to praktycznie niezauważalne. : swoja droga wiele rzeczy widzialem, ale segmentation violation w Javie ?!? A to widziałem, ale w którejś ze starych wersji. Nie pamiętam już o co chodziło, ale wiem że wysłałem nawet bug report :-) -- Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads