Portal > Foren > Java > Desktop-Applikationen und Grafik > CodeInspection / Threading - Ideen?
Thema geschlossen
 
Themen-Optionen Thema durchsuchen
Alt 15.08.2005, 15:37 Nach oben    #1
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.161
Standard CodeInspection / Threading - Ideen?

Hi Leute.
Ausnahmsweise brauche ich mal ein paar helle Köpfe, die mir ein wenig auf die Sprünge helfen.

Wahrscheinlich kennt ihr NetBeans oder IDEA. Beide bieten rechts neben der Scrollbar der Textarea einen Bereich mit Strichen an. Klar? Gut.
Genau das programmiere ich gerade für mein SimpleEdit.

Ist soweit auch schon fertig und funktioniert einwandfrei.

Um das ganze zu realisieren habe ich ein Interface "CodeInspector" entworfen, dass immer genau einen weiteren CodeInspector bekommt und den auszuführen hat, wenn es fertig ist und dieser zweite CodeInspector != null ist.
Wie gesagt: No problem so far.

Jetzt wird es aber komplizierter: Je mehr Code und CodeInspectoren und je komplexer deren "inspection", desto länger dauert der ganze Scheiß.

Ok, threading - kein Problem, oder doch? Japp, ist ein Problem.
Ich brauche vollen Zugriff zum Model (d.h. dem Document), damit ich die "LineMarker" erstellen kann (zeichnen in der Textarea im Hintergrund rum und werden rechts von der Scrollbar angezeigt).
Wenn ich das ganze in einem anderen Thread ablaufen lasse führt das zwangsläufig zu Problemen (bei meinem Text wurden Marker plötzlich vervielfältigt und nicht mehr entfernt). Das passiert deshalb, weil während der Erzeugung einer "LinePosition" (vgl. javax.swing.text.Position - nur für Zeilen), die für den "LineMarker" notwendig ist, problemlos eine neue Zeile hinzugefügt werden könnte.

Die CodeInspectoren werden übrigens immer dann ausgeführt, wenn eine bestimmte Menge an Zeichen im Dokument verändert (hinzugefügt, entfernt) wurden. Momentan steht das ganze bei 20 Zeichen, das funktioniert gut, nur wird es sehr schnell, sehr langsam.

Alternativ würde ich wohl auf manuelle CodeInspection und zeitbasierende CodeInspection umstellen müssen, aber das sagt mir nun gar nicht zu...

Nun gut. Sagt Bescheid, wenn ihr noch Infos braucht, nur den ganzen Code kann ich euch kaum geben. Sind ein paar MB zuviel.

Ich sag schonmal danke.


Edit: Ok... ich hab mal etwas nachgedacht (währenddem ich das virtuelle Dateisystem soweit aufpoliert habe, dass man in den meisten Fällen auf einem FTP-Server arbeiten kann)...
Hier mein Plan:
Die CodeInspection wird immer dann aufgerufen, wenn der Benutzer eine Änderung im Dokument vorgenommen hat, und anschliessend x Sekunden (z.B. 3 oder 5) lang nichts mehr ändert.
Das sollte sich sogar sehr einfach realisieren lassen. Wenn man den User dann noch informiert und vielleicht die Textarea sperrt kann man das ganze problemlos in einen anderen Thread verlegen, ohne die GUI einfrieren zu lassen.
Klingt das vernünftig? Ich werd's morgen jedenfalls mal antesten.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Alt 17.08.2005, 19:33 Nach oben    #2
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.161
Standard

Soo... meine Idee hat's tatsächlich gebracht. Scheint recht gut zu funktionieren.
Tatsächlich ist mir eingefallen, wo ich das schonmal gesehen hatte: Santhosh hatte vor einiger Zeit mal darüber gebloggt.


Nun denn. Ich mach hier mal zu.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Thema geschlossen

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Darstellung der Forenstartseite, Ideen, Brainstorming Ben Plauderecke 45 19.02.2007 07:40
Ideen oder Lösungen für Cache o.Ä. gesucht ljungi PHP-Programmierung 10 08.01.2007 10:59
Ideen für Firmennamen? dsxs Plauderecke 2 07.07.2006 17:12
Suche Ideen / Inspirationen für ein Layout für eine Jugendcommunity Chr!s Plauderecke 18 02.03.2006 18:43


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45