From d6d3ccd4df3719262299e7eb8102293b8ceddd0b Mon Sep 17 00:00:00 2001 From: dadgam3er Date: Wed, 25 Sep 2024 16:44:47 -0400 Subject: [PATCH] SingltonJAVA --- SingletonClasses/.idea/.gitignore | 3 ++ SingletonClasses/.idea/misc.xml | 6 +++ SingletonClasses/.idea/modules.xml | 8 ++++ SingletonClasses/.idea/vcs.xml | 6 +++ SingletonClasses/LogManagement.java | 28 ++++++++++++++ SingletonClasses/LogReading.java | 11 ++++++ SingletonClasses/MultiThreads.java | 35 ++++++++++++++++++ SingletonClasses/SingletonClasses.iml | 11 ++++++ .../SingletonClasses/.idea/.gitignore | 3 ++ .../SingletonClasses/.idea/misc.xml | 6 +++ .../SingletonClasses/.idea/modules.xml | 8 ++++ .../SingletonClasses/.idea/vcs.xml | 6 +++ .../SingletonClasses/LogManagement.class | Bin 0 -> 793 bytes .../SingletonClasses/LogReading.class | Bin 0 -> 527 bytes .../SingletonClasses/MultiThreads.class | Bin 0 -> 1776 bytes .../SingletonClasses/SingletonClasses.iml | 11 ++++++ 16 files changed, 142 insertions(+) create mode 100644 SingletonClasses/.idea/.gitignore create mode 100644 SingletonClasses/.idea/misc.xml create mode 100644 SingletonClasses/.idea/modules.xml create mode 100644 SingletonClasses/.idea/vcs.xml create mode 100644 SingletonClasses/LogManagement.java create mode 100644 SingletonClasses/LogReading.java create mode 100644 SingletonClasses/MultiThreads.java create mode 100644 SingletonClasses/SingletonClasses.iml create mode 100644 SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/.gitignore create mode 100644 SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/misc.xml create mode 100644 SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/modules.xml create mode 100644 SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/vcs.xml create mode 100644 SingletonClasses/out/production/SingletonClasses/SingletonClasses/LogManagement.class create mode 100644 SingletonClasses/out/production/SingletonClasses/SingletonClasses/LogReading.class create mode 100644 SingletonClasses/out/production/SingletonClasses/SingletonClasses/MultiThreads.class create mode 100644 SingletonClasses/out/production/SingletonClasses/SingletonClasses/SingletonClasses.iml diff --git a/SingletonClasses/.idea/.gitignore b/SingletonClasses/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/SingletonClasses/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/SingletonClasses/.idea/misc.xml b/SingletonClasses/.idea/misc.xml new file mode 100644 index 0000000..31e1ebc --- /dev/null +++ b/SingletonClasses/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SingletonClasses/.idea/modules.xml b/SingletonClasses/.idea/modules.xml new file mode 100644 index 0000000..a7beec2 --- /dev/null +++ b/SingletonClasses/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/SingletonClasses/.idea/vcs.xml b/SingletonClasses/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/SingletonClasses/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SingletonClasses/LogManagement.java b/SingletonClasses/LogManagement.java new file mode 100644 index 0000000..5d2bfe2 --- /dev/null +++ b/SingletonClasses/LogManagement.java @@ -0,0 +1,28 @@ +package SingletonClasses; + +public class LogManagement { + + // First we create an instance of the class + private static LogManagement logM; + + // Second, we create a PRIVATE constructor (PRIVATE TO AVOID INSTANTIATION) + private LogManagement() { + + } + + // We create public method to access the one and ONLY instance + public static LogManagement FuncLog() { + if (logM == null) { + synchronized (LogManagement.class) { + if (logM == null) { + logM = new LogManagement(); + } + } + } + return logM; + } + + public void Logs() { + System.out.println("Detailed logs on the way"); + } +} diff --git a/SingletonClasses/LogReading.java b/SingletonClasses/LogReading.java new file mode 100644 index 0000000..07bee69 --- /dev/null +++ b/SingletonClasses/LogReading.java @@ -0,0 +1,11 @@ +package SingletonClasses; + +/** + * LogReader + */ +public class LogReading { + public static void main(String[] args) { + LogManagement.FuncLog().Logs(); + + } +} diff --git a/SingletonClasses/MultiThreads.java b/SingletonClasses/MultiThreads.java new file mode 100644 index 0000000..03ca496 --- /dev/null +++ b/SingletonClasses/MultiThreads.java @@ -0,0 +1,35 @@ +package SingletonClasses; + +public class MultiThreads { + public static void main(String[] args) { + + + Runnable tast = () -> { + LogManagement.FuncLog().Logs(); + }; + Thread thread1 = new Thread(tast); + Thread thread2 = new Thread(tast); + Thread thread3 = new Thread(tast); + Thread thread4 = new Thread(tast); + Thread thread5 = new Thread(tast); + Thread thread6 = new Thread(tast); + + thread1.start(); + thread2.start(); + thread3.start(); + thread4.start(); + thread5.start(); + thread6.start(); + try{ + + thread1.join(); + thread2.join(); + thread3.join(); + thread4.join(); + thread5.join(); + thread6.join(); + }catch (InterruptedException e){ + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/SingletonClasses/SingletonClasses.iml b/SingletonClasses/SingletonClasses.iml new file mode 100644 index 0000000..cd06a88 --- /dev/null +++ b/SingletonClasses/SingletonClasses.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/.gitignore b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/misc.xml b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/misc.xml new file mode 100644 index 0000000..31e1ebc --- /dev/null +++ b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/modules.xml b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/modules.xml new file mode 100644 index 0000000..a7beec2 --- /dev/null +++ b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/vcs.xml b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SingletonClasses/out/production/SingletonClasses/SingletonClasses/LogManagement.class b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/LogManagement.class new file mode 100644 index 0000000000000000000000000000000000000000..7e679e5c3fc74dbbcbfeb13ca412f10079864299 GIT binary patch literal 793 zcmah{U279T6g{&^v%BfWrs;<@(RNM!NFtaAAAE@TlF}EqDx?JZI7x?O>t?p>ZY=c= z`KlExC@9zm!Ji}|p53%iMU;h|duPr)_nbTP?dOM20J>-tVIXHB?_drEf%1WTDcgb6 zqxQ4Gff^jlg9$NMze3jf^DMcU>=UZde7IRKqaB>1~QIS-1frJj?{9bCQ7q7 zA21hiy?+BcMe^osETC*+(Ln`EziH_m$BCLyLO3PqikGSM!}jyY*GVsll$>-dtO%@a zsYLpL+IQJFc0=tZW91&n<07tN&BQeaRn!EQ{=y(&9;SSOW{bwGM>YvIpv_LRPe0vo zUkNODzE)4ClYxqMx_gr?WVD94=l&7JGa z9&i<0=US%_Zy6Z4!GHQR02_H0tuu0FAZ%n5He3?V2woAHVw)#0zoK5T_MUvn!qP`r zd#5P9gV{QJ4a;kt-TTawH-yi#iOV7vo7p;RTBR!R9TZR|Vv%13H7w&cR#DGRaz9Wr sVQiV${7!9xM;AsOl2#C8pWsSm`8`(uG*jgyYM0E|=Vk=%u*|^SUl_5ZH~;_u literal 0 HcmV?d00001 diff --git a/SingletonClasses/out/production/SingletonClasses/SingletonClasses/LogReading.class b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/LogReading.class new file mode 100644 index 0000000000000000000000000000000000000000..9c280442dbf4935dc0d586ae31570866444986af GIT binary patch literal 527 zcmaJ;yG{Z@6g`*M$hr!G;u90Cz{0Jp*4U6xt(u6Tu^N`iI%Jtm_ThiosIl+^{3zoc zCBcF?#kskUbLP&O&#(6n00VR#lu#C^xTvB=XwKx5^kQiu?{+d%VNR%BYNPWjLb=x; zJ6JMAy>DNX?aDvKSU7XtSt z3>$T$Di5EPRo(c3b}@!Y4{uwi!FuRxQ!=uAv=hp*a`6tP987zd!7PzVzOL4k33R?D zqew-|g`irLT2|Gu(xkxIXy`I^0`si)&8Kq~eBQ&m&1~ruIam~!I_Fhv)QsPvC1PFq zprV**!PjcLalEg>9m}J@NFgZ8+O7G9ci^A z-RVeo1qPaZEXsP53kNF>J|=h<`!qO@*5vViMJ`wp7FGn@QqTy?YQwk04#%mwVcmIQ z*Mq=BCY1G}G6z8=8bW$7jR!6k@X*8k=I(PBo7i&jg@-Ru;GO7(_Vv@?NG%tdVF@9B zkYy8u&jtFAbV$Y?XJZ%XB>B)*H!%Z|2MWmzS%ea zj<=EXvQ{hkMzM+Bmewk4zdQ~e2`rxDMINsPlfGMVJ+E_QXMJXk(_HM7`o2?WYR7vyQJ;naG@&0|kwFooc+463 zgx-6Y#P=M16$rhlO9c5`;WJI`P26Hm zgD|*_Rnj_vBix~sps!>Gt4K1JC-{I;iu)oyq?Be}d3;34!5Wbk(en?(_B!BK;huy3 z|NI~vjHQQM`+Bvy!r^Iq$I^ep P%mn02U>jeNmC1hrA>*aa literal 0 HcmV?d00001 diff --git a/SingletonClasses/out/production/SingletonClasses/SingletonClasses/SingletonClasses.iml b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/SingletonClasses.iml new file mode 100644 index 0000000..cd06a88 --- /dev/null +++ b/SingletonClasses/out/production/SingletonClasses/SingletonClasses/SingletonClasses.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file