Pytanie : Jawa wielo- niciany syngielton

I mieć następujący dwa kod, exisitng kod wydawać się niciany skrytka. Być I prawy?


public klasa Test {

jawny ładunek elektrostatyczny Test przykład =null;
intymny Próbny ()
{
}

społeczeństwo synchronizować statyczny getInstance () {<--- dodawać synchronized
jeżeli (przykład == null)
przykład = nowy Test ();

powrót przykład;
}

biznesowy logic
}
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
 ********************** Istniejący kod ******************/

społeczeństwo klasa Test {

     jawny ładunek elektrostatyczny Test przykład =null;
     intymny Test ()
     {
     }

     jawny statyczny getInstance () {
        jeżeli (przykład == null)
            przykład = nowy Test ();

         powrotny przykład;
     }

     biznesowy logika
}

Odpowiedź : Jawa wielo- niciany syngielton

próba teraz:
(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:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
pathToZipFile= " C:\temp\test.zip "
extractTo= " C:\temp\unzip "

ustawiać fs = CreateObject ("Scripting.FileSystemObject")
ustawiać objLog = fs.CreateTextFile ("c:\temp\output.log ")
	
Ćmić oShell
Ustawiać oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "cmd /c mkdir" & extractTo
Ustalony oShell = Nic

Ustalony fso = CreateObject ("Scripting.FileSystemObject")
Ustalony falcówka = fso.getfolder (extractTo)
Dla falcówka oFile w  falcówka. Kartoteka
	oFile.Delete (Prawdziwy)
Następnie

ustawiać suma = CreateObject ("Shell.Application")
ustawiać ns = sa.NameSpace (pathToZipFile)
ustawiać filesInzip = ns.items
sa.NameSpace (extractTo) .CopyHere (filesInzip) 

EnumCSV extractTo

objLog.Close

targetdir EnumCSV (targetdir)
	Ciemnawy fso
	Ustalony fso = CreateObject ("Scripting.FileSystemObject")
	Ustalony falcówka = fso.getfolder (targetdir)
	Dla Folder.Files Kartoteka w Folder.Files
		Jeżeli fso.GetExtensionName (Kartoteka) = " csv " Wtedy
			ParseCSV (Kartoteka)		
		Kończyć Jeżeli
	Następnie
końcówka okręt podwodny

parseCSV ParseCSV (csv_file)
	ustawiać fs = CreateObject ("Scripting.FileSystemObject")
	ustawiać objTextFile = fs.OpenTextFile (csv_file)
	ćmić arrStr, linia, lastdate, lasttime
	lines=0
	
	Robić podczas gdy NIE objTextFile.AtEndOfStream
		arrStr = rozłam (objTextFile.ReadLine, ", ")
		lines=lines+1
	Pętla
	
	lastdate = Zamieniać (arrStr ((0)), """", "")
	lasttime = Zamieniać (arrStr (1), """", "")
	
	objLog.WriteLine "Kartoteka: " & csv_file
	objLog.WriteLine "Sumaryczny Linia: " & linia
	objLog.WriteLine "Ostatni data: " & lastdate
	objLog.WriteLine "Ostatni raz: " & lasttime
	objLog.WriteLine
	objTextFile.Close
końcówka okręt podwodny
Inne rozwiązania  
 
programming4us programming4us