Új hozzászólás Aktív témák
-
thon73
tag
Aha! Köszönöm. 1. pont alapján a kódot javítottam.
2. Eddig multithreadet (a rendszer által kínált lehetőségeken kívül) csak időzítési feladatokra használtam. Viszont - a log szigorításával - szükségem lett volna egy "saját" log-ra, amit akkor is használhatok, ha tableten dolgozom. A program nagyon egyszerű, egy file-ba írja az üzeneteket. ((Az esetleges összeomlás miatt a metódus nyitja-írja-zárja a file-t (flush is lehetne helyette, de az idő nem volt lényeges szempont)). Ilyen üzenet bármelyik thread-ről érkezhet, ezért szeretnénk biztos lenni abban, hogy működik.
Két megoldást találtam a figyelmeztetésed után:
private final Object lock = new Object();
private static String addTextToFileLog( File logFile, String text )
{
synchronized( lock )
{
OutputStreamWriter logStream = new OutputStreamWriter( new FileOutputStream(logFile, true));
logStream.append( text );
logStream.flush();
logStream.close();
}
}illetve:
private static synchronized String addTextToFileLog( File logFile, String text )
{
OutputStreamWriter logStream = new OutputStreamWriter( new FileOutputStream(logFile, true) );
logStream.append( text );
logStream.flush();
logStream.close();
}(A hibaellenőrzést az egyszerűség kedvéért töröltem.)
Van előnye egyik vagy másik megközelítésnek? Egyáltalán jó ez így, vagy valamit elnéztem?
Ha még abban tudnék egy kis segítséget kapni, hogy ezt hogyan tesztelhetem a szimpla próbálkozáson kívül, azt is megköszönném!
Új hozzászólás Aktív témák
- Parkside szerszám kibeszélő
- Luck Dragon: Asszociációs játék. :)
- Bundle topik
- Filmvilág
- Xiaomi 15T Pro - a téma nincs lezárva
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Kormányok / autós szimulátorok topikja
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Genshin Impact (PC, PS4, Android, iOS)
- Szeged és környéke adok-veszek-beszélgetek
- További aktív témák...
- Lenovo 40AH és 40A1 dokkoló, töltő is.
- Telefon felváráslás!! Xiaomi Redmi Note 11, Xiaomi Redmi Note 11 Pro, Xiaomi 11 Lite
- S22 Ultra 256/12 Dobozában
- AKCIÓ! LENOVO ThinkPad P15 Gen1 munkaállomás - i7 10875H 16GB DDR4 512GB SSD Quadro T1000 4GB W
- Akciós!! Előbb mint bárhol máshol !! Motorola Moto G77 8GB/256GB - 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

