From ad1d10dc16cefe05fbe7a7d71ecf46c5028c5ce8 Mon Sep 17 00:00:00 2001 From: "github-classroom[bot]" <66690702+github-classroom[bot]@users.noreply.github.com> Date: Sun, 27 Dec 2020 08:32:27 +0000 Subject: [PATCH 1/5] Setting up GitHub Classroom Feedback From 02627e17423f3d24dd4912ccc86856c4b36341cd Mon Sep 17 00:00:00 2001 From: busrazurnaci Date: Tue, 29 Dec 2020 14:06:50 +0300 Subject: [PATCH 2/5] deneme --- .idea/vcs.xml | 6 ++++++ src/org/kodluyoruz/Main.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .idea/vcs.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/org/kodluyoruz/Main.java b/src/org/kodluyoruz/Main.java index aa7b80d..c931466 100644 --- a/src/org/kodluyoruz/Main.java +++ b/src/org/kodluyoruz/Main.java @@ -3,6 +3,6 @@ public class Main { public static void main(String[] args) { - // write your code here + System.out.println("deneme"); } } From 71524887dbc4d5a5dc8950019fc4615fbd1e7754 Mon Sep 17 00:00:00 2001 From: busrazurnaci Date: Thu, 31 Dec 2020 15:21:15 +0300 Subject: [PATCH 3/5] commit bir --- src/org/kodluyoruz/Node.java | 2 ++ src/org/kodluyoruz/Queue.java | 2 ++ src/org/kodluyoruz/QueueProcesses.java | 2 ++ 3 files changed, 6 insertions(+) create mode 100644 src/org/kodluyoruz/Node.java create mode 100644 src/org/kodluyoruz/Queue.java create mode 100644 src/org/kodluyoruz/QueueProcesses.java diff --git a/src/org/kodluyoruz/Node.java b/src/org/kodluyoruz/Node.java new file mode 100644 index 0000000..6154e80 --- /dev/null +++ b/src/org/kodluyoruz/Node.java @@ -0,0 +1,2 @@ +package org.kodluyoruz;public class Node { +} diff --git a/src/org/kodluyoruz/Queue.java b/src/org/kodluyoruz/Queue.java new file mode 100644 index 0000000..bd85172 --- /dev/null +++ b/src/org/kodluyoruz/Queue.java @@ -0,0 +1,2 @@ +package org.kodluyoruz;public interface Queue { +} diff --git a/src/org/kodluyoruz/QueueProcesses.java b/src/org/kodluyoruz/QueueProcesses.java new file mode 100644 index 0000000..4b57002 --- /dev/null +++ b/src/org/kodluyoruz/QueueProcesses.java @@ -0,0 +1,2 @@ +package org.kodluyoruz;public class QueueProcesses { +} From 106cd468fd1e236c4c39821173289ee5eed47b3d Mon Sep 17 00:00:00 2001 From: busrazurnaci Date: Thu, 31 Dec 2020 15:28:52 +0300 Subject: [PATCH 4/5] commit iki --- .idea/modules.xml | 5 +- .../sos-game/org/kodluyoruz/Main.class | Bin 0 -> 1187 bytes .../sos-game/org/kodluyoruz/Node.class | Bin 0 -> 1386 bytes .../sos-game/org/kodluyoruz/Queue.class | Bin 0 -> 301 bytes .../org/kodluyoruz/QueueProcesses.class | Bin 0 -> 1512 bytes src/org/kodluyoruz/Main.java | 19 +++++++- src/org/kodluyoruz/Node.java | 31 +++++++++++- src/org/kodluyoruz/Queue.java | 8 +++- src/org/kodluyoruz/QueueProcesses.java | 45 +++++++++++++++++- 9 files changed, 101 insertions(+), 7 deletions(-) create mode 100644 out/production/sos-game/org/kodluyoruz/Main.class create mode 100644 out/production/sos-game/org/kodluyoruz/Node.class create mode 100644 out/production/sos-game/org/kodluyoruz/Queue.class create mode 100644 out/production/sos-game/org/kodluyoruz/QueueProcesses.class diff --git a/.idea/modules.xml b/.idea/modules.xml index 7ac30c7..c08c41f 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,8 +2,7 @@ - + - - + \ No newline at end of file diff --git a/out/production/sos-game/org/kodluyoruz/Main.class b/out/production/sos-game/org/kodluyoruz/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..deca2584ff15b90a38d969d9ed4cf7d70d1312b6 GIT binary patch literal 1187 zcma)5YflqF6g^W4+b+w)J`f)~MAVidtD^WQ;sZ4?X%T~ILj1ICCuL#VZMM5cl>g&r z{7@1}jGz5c>X~lUmJs7^GQ0QAz2}~DXYThOU%mpkjb}O{7|;+kFo+?6@m=ekWja=) zX1*%#%8D;Av}!kOe@$Q@lPzh82~4?O&D?XVPO$HK!3XnoAOpGSxfR)J$(9aHArAL} zZTX(vsKqcMpcSRJW0fr(I>uDlae;KE@V9Uno6nXMQo=wIDHgY?)e~_cLB_=}Auw1D zTAmfdq(D?*#c>`NG+Z<=h3S4S`z>GA3F!uumkul2uDMByK8s7Mo>!%34P3$;;hIwJ z38XUF9+KVSI_7aj!&L*;@^WyHzPLRTTV*v9okaxu|F3puh; z+*dHdmD9~PO}=v+PLnED>3@k)lrV-0#+j31Rsue!@*^fYT4$-pXYM`R@3iXx50EEX ojNVl|WUVz?sw1K25&s_3lSJev!6F)-XiOIxa$ND0TM?}P0%8FYuK)l5 literal 0 HcmV?d00001 diff --git a/out/production/sos-game/org/kodluyoruz/Node.class b/out/production/sos-game/org/kodluyoruz/Node.class new file mode 100644 index 0000000000000000000000000000000000000000..a0af13269558414f22068708b59b49bfd235a31c GIT binary patch literal 1386 zcmb7EOOMh}7(JIqOOeM21M_eg8K0#Z*|>5DiP5+sxER91U4aHWA~hW_jvN1yCQeLT z_yhb=#&dg1J3w7X6WaSd&iT&im;V0q^A~`pu<}SDts_%F7Mj4$x&6^@&+PfM{d#on zj28l0$DO;2u0Yys4GrXA=*Smv0|kMq=TF=3yvb~N>G{jg?Y=j01hNxn>i7bc-X_|q z>@O8i#*RQ{?tCJCt(O3DDqx(s)49D^`b10*28sgI`V#;4WWINz6%Mq{j_zK0Cyh2(KJVP-CiX5gC4A4|<(E#Oe073;qQ;?&?RcaJjB}Y+JRgx=v zju>m;I2`IZPqHR!eTV*)56TDW7}y~7OJ`XS(o3p1BB>PYZB{iSkKYhpx~6UTE59A! zTgcM6*jp`gZ%WB%P{#2;WT*v< YSLC{kG6k)c^#Pfbfe&HQniN`p0hbcpB>(^b literal 0 HcmV?d00001 diff --git a/out/production/sos-game/org/kodluyoruz/Queue.class b/out/production/sos-game/org/kodluyoruz/Queue.class new file mode 100644 index 0000000000000000000000000000000000000000..cff6c7b704f25776848764e52fb21c05be45b81e GIT binary patch literal 301 zcmZXP%?`mp6ot>#YN_7^?=aoy#tN~tl89*RhfbO@G13?bk7nTkJe0U95z*y$?m4;V zJf62ZfFZg*DukZN(`auJZ7(Lb*Jx>#RX$uocPGy>((;f-i_K1LPXtFM3863M|EF=d zCe&A1dXOiZD}pEDxDef=QhRSx*yD7(KTw3@yXfvMW$FX$w;Kg(B`g6~xdq;c;lMbzq!nrc(p{AzysZ1R;?` zA5HvC#(3^b+1kc5y~}sc{m%K$d^5lQe*XdB4xYpiLRdpYM+Z6u`ge^FM%FUyO7`{6 zt}J;1ovWs8dTRpVRJy34OCaI6mF%8Vw(19tTmP8daLO_U4KbCZTVN=aZ%&g-7o+Gw zuZBJy{TL9KXiD;?F6(mBbxN{UlQpuL)*e&kn_!A7r&1+!45~cgnqw>SVI3nF70_zZ z+mQPdKALKKSrsuZFnKOR6V*^VPyiYtFUSP+PU9B4b-l-7U#irt&Ls*@I=(Mwn(ph9HpQ z7*hSsb%rlk2#fr)PcQ5vT=QMyxJ1NL&VqAC<{08D7hzoIsE*ZonWG*6ki`w|ZeEJq z;!fZ;x=Ewb9q~?>^Wq7#?Zsn6*E5IEf1y9K^bNWi;-9!VM11K8L;hZoMtssqwj~hd zFUA_WF+}PK^kN=;tS0V@Ne1Z~Vo1b~$X!Z^vh(k;&X6zg9Hj&XsQYIq<;eq|Df9;u z8Z^CO)C&d5& literal 0 HcmV?d00001 diff --git a/src/org/kodluyoruz/Main.java b/src/org/kodluyoruz/Main.java index c931466..aebeda0 100644 --- a/src/org/kodluyoruz/Main.java +++ b/src/org/kodluyoruz/Main.java @@ -2,7 +2,24 @@ public class Main { + public static void main(String[] args) { - System.out.println("deneme"); + QueueProcesses eleman= new QueueProcesses<>(); + eleman.add(new String("Merhaba")); + eleman.add(new String("busra")); + eleman.add(new String("java")); + try{ + System.out.println(eleman.peek()); + System.out.println(eleman.poll()); + System.out.println(eleman.poll()); + System.out.println(eleman.poll()); + System.out.println(eleman.peek()); + } + catch (NullPointerException e){ + System.out.println(e); + } + + + } } diff --git a/src/org/kodluyoruz/Node.java b/src/org/kodluyoruz/Node.java index 6154e80..3f17159 100644 --- a/src/org/kodluyoruz/Node.java +++ b/src/org/kodluyoruz/Node.java @@ -1,2 +1,31 @@ -package org.kodluyoruz;public class Node { +package org.kodluyoruz; + +public class Node { + private T deger; + private Node next; + + public Node( T deger){ + + this.deger=deger; + } + public Node(T deger, Node next){ + this.deger= deger; + this.next= next; + } + + public T getDeger() { + return deger; + } + + public void setDeger(T deger) { + this.deger = deger; + } + + public Node getNext() { + return next; + } + + public void setNext(Node next) { + this.next = next; + } } diff --git a/src/org/kodluyoruz/Queue.java b/src/org/kodluyoruz/Queue.java index bd85172..4c11271 100644 --- a/src/org/kodluyoruz/Queue.java +++ b/src/org/kodluyoruz/Queue.java @@ -1,2 +1,8 @@ -package org.kodluyoruz;public interface Queue { +package org.kodluyoruz; + +public interface Queue { + void add(T deger); + T peek(); + T poll(); + } diff --git a/src/org/kodluyoruz/QueueProcesses.java b/src/org/kodluyoruz/QueueProcesses.java index 4b57002..14e100b 100644 --- a/src/org/kodluyoruz/QueueProcesses.java +++ b/src/org/kodluyoruz/QueueProcesses.java @@ -1,2 +1,45 @@ -package org.kodluyoruz;public class QueueProcesses { +package org.kodluyoruz; + +public class QueueProcesses implements Queue{ + private Node ilk; + private Nodeson; + + @Override + public void add(T deger) { + Node node = new Node(deger); + if(ilk==null) { + ilk = node; + son = node; + }else{ + son.setNext(node); + son=node; + } + + } + + @Override + public T peek() { + if(ilk==null) { + throw new NullPointerException("Queue Bos"); + } + else + return ilk.getDeger(); + + } + + @Override + public T poll() { + + if(ilk==null){ + throw new NullPointerException("Queue Bos"); + } + else { + T deger= null; + Node node=ilk; + ilk= node.getNext(); + deger=node.getDeger(); + return deger; + } + + } } From a3590fa1ed772bdecc672cbfa0d72ca496a1a3f9 Mon Sep 17 00:00:00 2001 From: busrazurnaci Date: Tue, 5 Jan 2021 00:50:19 +0300 Subject: [PATCH 5/5] commit threadsafety --- .../sos-game/org/kodluyoruz/Main.class | Bin 1187 -> 1598 bytes .../sos-game/org/kodluyoruz/MyThread.class | Bin 0 -> 1297 bytes .../org/kodluyoruz/QueueProcesses.class | Bin 1512 -> 1512 bytes src/org/kodluyoruz/Main.java | 33 ++++++++++++------ src/org/kodluyoruz/MyThread.java | 19 ++++++++++ src/org/kodluyoruz/QueueProcesses.java | 11 +++--- 6 files changed, 49 insertions(+), 14 deletions(-) create mode 100644 out/production/sos-game/org/kodluyoruz/MyThread.class create mode 100644 src/org/kodluyoruz/MyThread.java diff --git a/out/production/sos-game/org/kodluyoruz/Main.class b/out/production/sos-game/org/kodluyoruz/Main.class index deca2584ff15b90a38d969d9ed4cf7d70d1312b6..e6001cc6cd7d155e8d293a1170e34f3a2b06904c 100644 GIT binary patch delta 653 zcmZ{g%TE(g6vlsdI%V2s+!&Gq8XTVss!Vu@QWT%4Xp0Z3Kw?ZLww6IM(@dvEbit-u z7G~nYg^9t13A(VDfRBVfz&}bn(`rnNCUehs?sva)&UfZ*ddJLs|M7JP7-hbd`KVU2 zeo(a^`{m`viXSwd*~OL8Vo-6)8El44l61$}sL4sX6v=w%1YyjaGC3VH`jYQ@26;vQ zlJmr|mmRNaPkUh{2pYApQl5JHuu=)!=;eS$)V_g@2BT=C#tG(P=!S=q>zbtqH|1)o`?-IjRtuiT(G_p~){nqO3@l z#0zq>1(jfOU>ntHKVOs>KSP2`63vc)%S_2F%@wW+BgN_qy0n5%Q8V$p^bLCMWVvEBuo)v6~Bbyp^a=hd&kCHn~ATFvWX{%*YZ= znS7I5qFdt_wWwJQPmb<$U)$ zf8TvOSIho^m^n$QU_7MK!Moi=5Y#6qxFPHGPy%c zWk7>ZbaDf$d)zDp=#ybsG@#Q1#Ok7-s|i^T2OQy&Pg??%)zZBr6a6n-us3)|ugzNKYqmH{S|*_#lVmc5bbz|iz@fg7$aEVD1o(7)*?WQ8+1 z(+}uJHJ!UGAXp8<-FwbH=bYy`=idGG`^QfJ>&VIQ!7m}8UL6dKurA z4td#5hcS#138Ms3sL zFwdYYXx4&dtENp{MAAhCS4I7hZL~|txQ6QzmKEGUjA7gr&@YYHHiS^UPTK#*!R>xR z!3u6N_>2a_d~RR>`wn;bo@tc1WpRu2C6SVFOTlfdG0goJO?_7@q`$AWH?w$Aq*_;S z7xx$f4bG1STk0VN?ty}bZJeR&A*2~1qCp?%AXx`)hm!C!g!5XpuG)@CP9Y_n>W^zSI0EYdOc z(Ipgrx=dhr^{b r^gKd92rs&Hmt5J@(o-afYvwEBq7cI-twIy1r#`ROFY$_OA71|fvLYWN literal 0 HcmV?d00001 diff --git a/out/production/sos-game/org/kodluyoruz/QueueProcesses.class b/out/production/sos-game/org/kodluyoruz/QueueProcesses.class index b31d26d01b0c736d6829799b6fbc78e6cb20869d..ef146cd110d48fa30d7b9aa46dc290fddc77275a 100644 GIT binary patch delta 83 zcmaFC{epYLS!PDX$>*5kIQbb=83Y)#7(^zUvZMgTX0h0CN-(f9NHPdA$V|S^Vg?iw gWA&0$0g9;t#WWa%88jIrfI1Wyw1FZzlPg*C0rC+K1poj5 delta 83 zcmaFC{epYLS!PDY$>*5kIQbY<8Tc8r7=$L9vZMgTX0h0CiZQS=h%*Q>NKL-aVg?iw hWA&0$1d1sE#Z(!D8Ppgg7}OaQ7&L%9&B>Ll`2gAe4u${# diff --git a/src/org/kodluyoruz/Main.java b/src/org/kodluyoruz/Main.java index aebeda0..b1b313a 100644 --- a/src/org/kodluyoruz/Main.java +++ b/src/org/kodluyoruz/Main.java @@ -8,18 +8,31 @@ public static void main(String[] args) { eleman.add(new String("Merhaba")); eleman.add(new String("busra")); eleman.add(new String("java")); - try{ - System.out.println(eleman.peek()); - System.out.println(eleman.poll()); - System.out.println(eleman.poll()); - System.out.println(eleman.poll()); - System.out.println(eleman.peek()); - } - catch (NullPointerException e){ - System.out.println(e); - } + try{ + System.out.println(eleman.peek()); + System.out.println(eleman.poll()); + System.out.println(eleman.poll()); + System.out.println(eleman.poll()); + System.out.println(eleman.peek()); + } + catch (NullPointerException e){ + System.out.println(e); + } + MyThread thread1 = new MyThread(eleman); + MyThread thread2 = new MyThread(eleman); + thread1.start(); + thread2.start(); + + try { + thread1.join(); + thread2.join(); + } catch (InterruptedException e) { + System.out.println("Main thread is interrupted"); + } + + System.out.println("Main thread is finishing"); } } diff --git a/src/org/kodluyoruz/MyThread.java b/src/org/kodluyoruz/MyThread.java new file mode 100644 index 0000000..16ce12f --- /dev/null +++ b/src/org/kodluyoruz/MyThread.java @@ -0,0 +1,19 @@ +package org.kodluyoruz; + +public class MyThread extends Thread{ + T deger; + static QueueProcesses op = new QueueProcesses(); + + public MyThread(T deger) { + super(); + this.deger = deger; + } + + public void run() { + System.out.println(this.getName() + " is starting"); + op.add(this.deger); + op.peek(); + op.poll(); + System.out.println(this.getName() + " is finishing"); + } +} diff --git a/src/org/kodluyoruz/QueueProcesses.java b/src/org/kodluyoruz/QueueProcesses.java index 14e100b..cdfca83 100644 --- a/src/org/kodluyoruz/QueueProcesses.java +++ b/src/org/kodluyoruz/QueueProcesses.java @@ -5,30 +5,33 @@ public class QueueProcesses implements Queue{ private Nodeson; @Override - public void add(T deger) { + synchronized public void add(T deger) { Node node = new Node(deger); if(ilk==null) { ilk = node; son = node; + }else{ son.setNext(node); son=node; + } } @Override - public T peek() { + synchronized public T peek() { if(ilk==null) { throw new NullPointerException("Queue Bos"); } else - return ilk.getDeger(); + return ilk.getDeger(); + } @Override - public T poll() { + synchronized public T poll() { if(ilk==null){ throw new NullPointerException("Queue Bos");