From 51f556bf84b5853fb7d4d50a3705b6879cb29325 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20Tu=C4=9Fcan=20=C3=96zakta=C5=9F?= Date: Tue, 13 Nov 2018 10:29:37 +0300 Subject: [PATCH 1/6] Create async.md --- jargons/async.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 jargons/async.md diff --git a/jargons/async.md b/jargons/async.md new file mode 100644 index 0000000..40b2309 --- /dev/null +++ b/jargons/async.md @@ -0,0 +1,79 @@ +--- +title: async +tags: +- programlama +- golang +- thread +--- + +Türkçe olarak anlatmak istersek **Eşzamansız** programlama olarak tanımlanabilir. Basitçe tek bir [thread](/thread) üzerinde bir çok fonksiyonu veya isteği karşılamak mümkün ama standart yapıda işlemler sıraya girerek görevlerini yerine getirir. Buna [SYNC](/sync) (senkron) denir. Async de ise bu işler birbirinden ayrı thread'lerde sıraya girmeden aynı anda başlatılabilir. Hiç bir işlem bir birine bağlı olmadan bağımsız çalışır. + +### GO Dilinde örnek +Goroutines kullanarak *Go Programlama Dili* nde örnek yapabiliriz. Resmi dökümanlar ve örnekler için [buraya](https://tour.golang.org/concurrency/1) bakabilirsiniz. + +### ASYNC + +```go +package main +import "fmt" +func main() { + fmt.Println("1") + fmt.Println("2") + fmt.Println("3") + fmt.Println("4") + fmt.Println("5") + fmt.Println("6") + fmt.Println("7") + fmt.Println("8") + fmt.Println("9") + fmt.Println("10") +} +``` +#### Çıktı +``` +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +``` + +### SYNC (Go-Routines ile) +```go +package main +import "fmt" + +func main() { + go func() { + fmt.Println("1") + fmt.Println("2") + fmt.Println("3") + }() + + fmt.Println("4") + fmt.Println("5") + fmt.Println("6") + fmt.Println("7") + fmt.Println("8") + fmt.Println("9") + fmt.Println("10") +} +``` +#### Çıktı +``` +4 +5 +6 +1 +7 +8 +2 +9 +3 +10 +``` From ddd5678fed0956ae1945e155bf884004f0e6b959 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20Tu=C4=9Fcan=20=C3=96zakta=C5=9F?= Date: Tue, 13 Nov 2018 10:30:21 +0300 Subject: [PATCH 2/6] Create sync.md --- jargons/sync.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 jargons/sync.md diff --git a/jargons/sync.md b/jargons/sync.md new file mode 100644 index 0000000..d05d5d0 --- /dev/null +++ b/jargons/sync.md @@ -0,0 +1,11 @@ +--- +title: sync +tags: +- programlama +- thread +--- + +Türkçe olarak anlatmak istersek **Eşzamanlı** programlama olarak tanımlanabilir. Sync, İngilizcedeki “synchronization” kelimesinin kısaltmasıdır. İşlemlerin aynı anda ve birbirinden haberdar olarak yürülmesi olayıdır. Yani işlemler sırayla yapılır, birbirini izler. İşlemler birbirinden haberdar olarak yürür. + + +Sync tersi olarakta [ASYNC](/async) ye bakabilirsiniz. From a5af7d17504eb829bd85606c6ad764f9b1cd4d3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20Tu=C4=9Fcan=20=C3=96zakta=C5=9F?= Date: Tue, 13 Nov 2018 10:30:40 +0300 Subject: [PATCH 3/6] Create thread.md --- jargons/thread.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 jargons/thread.md diff --git a/jargons/thread.md b/jargons/thread.md new file mode 100644 index 0000000..0733580 --- /dev/null +++ b/jargons/thread.md @@ -0,0 +1,10 @@ +--- +title: thread +tags: +- programlama +- multi thread +--- + +Thread basitçe iş parçacıları anlamına gelir. Örneğin programlamada yürütülen bir işlem tek bir thread yani iş parçasında yürütülür ve işlemler biri biter, biri başlar şeklinde yürür. İşlemlerin yüklendiği iş parçasına thread denir. Bir işlem üzerinde birden fazla işlem yapabilmeniz için multi-thread yapıya geçebilir, başlatılan işlemler sıraya girmeden yaratılan çoklu threadler üzerinde atanan her işlem ayrı bir thread'e yüklenerek görevlerini bitirebilirler. + +Ayrıca : [SYNC](/sync), [ASYNC](/async) bakmanızı öneririm. From 76525f26452b767406632a15d592cb47b88b910a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alpcan=20Ayd=C4=B1n?= Date: Tue, 13 Nov 2018 10:37:23 +0300 Subject: [PATCH 4/6] Update async.md --- jargons/async.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jargons/async.md b/jargons/async.md index 40b2309..93ae42f 100644 --- a/jargons/async.md +++ b/jargons/async.md @@ -6,9 +6,9 @@ tags: - thread --- -Türkçe olarak anlatmak istersek **Eşzamansız** programlama olarak tanımlanabilir. Basitçe tek bir [thread](/thread) üzerinde bir çok fonksiyonu veya isteği karşılamak mümkün ama standart yapıda işlemler sıraya girerek görevlerini yerine getirir. Buna [SYNC](/sync) (senkron) denir. Async de ise bu işler birbirinden ayrı thread'lerde sıraya girmeden aynı anda başlatılabilir. Hiç bir işlem bir birine bağlı olmadan bağımsız çalışır. +Türkçe olarak anlatmak istersek **Eşzamansız** programlama olarak tanımlanabilir. Basitçe tek bir [thread](/thread) üzerinde bir çok fonksiyonu veya isteği karşılamak mümkündür ama standart yapıda işlemler sıraya girerek görevlerini yerine getirir. Buna [SYNC](/sync) (senkron) denir. Async'de ise bu işler birbirinden ayrı thread'lerde sıraya girmeden aynı anda başlatılabilir. Her işlem bir birine bağlı olmadan bağımsız şekilde çalışır. -### GO Dilinde örnek +### Go Dilinde örnek Goroutines kullanarak *Go Programlama Dili* nde örnek yapabiliriz. Resmi dökümanlar ve örnekler için [buraya](https://tour.golang.org/concurrency/1) bakabilirsiniz. ### ASYNC From 05bf7289cf262244a065f0db8ccafb979b4e0592 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alpcan=20Ayd=C4=B1n?= Date: Tue, 13 Nov 2018 10:37:58 +0300 Subject: [PATCH 5/6] Update sync.md --- jargons/sync.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jargons/sync.md b/jargons/sync.md index d05d5d0..c9b4787 100644 --- a/jargons/sync.md +++ b/jargons/sync.md @@ -5,7 +5,7 @@ tags: - thread --- -Türkçe olarak anlatmak istersek **Eşzamanlı** programlama olarak tanımlanabilir. Sync, İngilizcedeki “synchronization” kelimesinin kısaltmasıdır. İşlemlerin aynı anda ve birbirinden haberdar olarak yürülmesi olayıdır. Yani işlemler sırayla yapılır, birbirini izler. İşlemler birbirinden haberdar olarak yürür. +Türkçe olarak anlatmak istersek **Eşzamanlı** programlama olarak tanımlanabilir. Sync, İngilizcedeki “synchronization” kelimesinin kısaltmasıdır. İşlemlerin aynı anda ve birbirinden haberdar olarak yürütülmesi olayıdır. Yani işlemler sırayla yapılır, birbirini izler. İşlemler birbirinden haberdar olarak yürür. Sync tersi olarakta [ASYNC](/async) ye bakabilirsiniz. From 0bf6b93a410323722a3ceb9b79799b6ccf9ed201 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alpcan=20Ayd=C4=B1n?= Date: Tue, 13 Nov 2018 10:39:14 +0300 Subject: [PATCH 6/6] Update async.md --- jargons/async.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jargons/async.md b/jargons/async.md index 93ae42f..3431e88 100644 --- a/jargons/async.md +++ b/jargons/async.md @@ -6,7 +6,7 @@ tags: - thread --- -Türkçe olarak anlatmak istersek **Eşzamansız** programlama olarak tanımlanabilir. Basitçe tek bir [thread](/thread) üzerinde bir çok fonksiyonu veya isteği karşılamak mümkündür ama standart yapıda işlemler sıraya girerek görevlerini yerine getirir. Buna [SYNC](/sync) (senkron) denir. Async'de ise bu işler birbirinden ayrı thread'lerde sıraya girmeden aynı anda başlatılabilir. Her işlem bir birine bağlı olmadan bağımsız şekilde çalışır. +Türkçe olarak anlatmak istersek **Eşzamansız** programlama olarak tanımlanabilir. Basitçe tek bir [thread](/thread) üzerinde bir çok fonksiyonu veya isteği karşılamak mümkündür ama standart yapıda işlemler sıraya girerek görevlerini yerine getirir. Buna [SYNC](/sync) (senkron) denir. Async'de ise bu işler birbirlerinden ayrı sıraya girmeden aynı anda başlatılabilir. Her işlem bir birine bağlı olmadan bağımsız şekilde çalışır. ### Go Dilinde örnek Goroutines kullanarak *Go Programlama Dili* nde örnek yapabiliriz. Resmi dökümanlar ve örnekler için [buraya](https://tour.golang.org/concurrency/1) bakabilirsiniz.