synchronized Anahtar kelimesi metodun başına getirildiğinde;
Metoda ulaşmak isteyen Threadler metoda sıra ile girerler ve bir Thread metodu bitirmeden diğer Thread giremez.
package KodSozluk; public class KodSozluk{ public static void main(String[]args){ isParcacigi thread1 = new isParcacigi(); isParcacigi thread2 = new isParcacigi(); thread1.start(); thread2.start(); } } class isParcacigi extends Thread{ synchronized void synMetod(){ // Bir thread işini bitirmeden diğer bu metoda thread giremez. for(int i=0;i<5;i++){ System.out.println("Şuan çalışan iş parçacığı ->"+ this.getName()); } } public void run(){ synMetod(); } }
Şuan çalışan iş parçacığı ->Thread-0 Şuan çalışan iş parçacığı ->Thread-0 Şuan çalışan iş parçacığı ->Thread-0 Şuan çalışan iş parçacığı ->Thread-0 Şuan çalışan iş parçacığı ->Thread-0 Şuan çalışan iş parçacığı ->Thread-1 Şuan çalışan iş parçacığı ->Thread-1 Şuan çalışan iş parçacığı ->Thread-1 Şuan çalışan iş parçacığı ->Thread-1 Şuan çalışan iş parçacığı ->Thread-1 // eğer synchronized metodun başına getirilmezse bütün threadler işini bitirmeden girebilir. Aşağıdaki gibi olur. Şuan çalışan iş parçacığı ->Thread-1 Şuan çalışan iş parçacığı ->Thread-1 Şuan çalışan iş parçacığı ->Thread-0 Şuan çalışan iş parçacığı ->Thread-0 Şuan çalışan iş parçacığı ->Thread-0 Şuan çalışan iş parçacığı ->Thread-1 Şuan çalışan iş parçacığı ->Thread-0 Şuan çalışan iş parçacığı ->Thread-1 Şuan çalışan iş parçacığı ->Thread-1 Şuan çalışan iş parçacığı ->Thread-0
Java, yazılım uygulamalarının geliştirilmesinde yaygın olarak kullanılan popüler bir programlama dilidir. Java uygulamalarını geliştirirken göz önünde bulunduru
SOLID , yazılım tasarımlarını daha anlaşılır, esnek, sağlam ve sürdürülebilir hale getirmeyi amaçlayan 5 tasarım ilkesinin kısaltmasıdır. Java'da kullanımı anlatacağım.