Skip to content

Commit

Permalink
Merge pull request #95 from hto/master
Browse files Browse the repository at this point in the history
sync-async-thread
  • Loading branch information
alpcanaydin committed Nov 13, 2018
2 parents 15526f4 + 0bf6b93 commit 3bc6b60
Show file tree
Hide file tree
Showing 3 changed files with 100 additions and 0 deletions.
79 changes: 79 additions & 0 deletions 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ü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.

### 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
```
11 changes: 11 additions & 0 deletions 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ü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.
10 changes: 10 additions & 0 deletions 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.

0 comments on commit 3bc6b60

Please sign in to comment.