Concurrent Programming

ความหมาย

concur (v)

concurrence (n)

concurrency (n)

concurrent (adj)

concurrently (adv)
1.บรรจบกัน ประจวบกัน พร้อมกัน
2.เห็นพ้อง เอกฉันท์
3.เกิดขึ้นในเวลาเดียวกัน

[Sequential program]  VS  [Concurrent program]


Sequential program คือโปรแกรมทั่วไป รันโค๊ดทีละบรรทัดไล่เป็นลำดับ

ผลลัพธ์จะได้ 
1.เข้า function t.run()  >  print "Nice" x1000
2.มาวนลูป for ใน function main > print "Good" x1000

Concurrent program คือ มีหลายโปรเซส รันขนานกัน=รันไปพร้อมๆกัน

พอมี 2 โปรเซส รัน loop for 2 loop ไปพร้อมๆกัน ไม่รอให้คนใดคนนึงทำงานเสร็จก่อน ผลลัพท์เลย กระจัดกระจาย อย่างที่เห็น

 VS  

Task/Process
มี memory เป็นของตัวเอง
โปรแกรม1โปรแกรม จะไม่ไปใช้memoryของโปรแกรมอื่น
Thread
share memory กับ thread ตัวอื่น
ใน1โปรแกรม มีหลายฟังก์ชัน ใช้งาน memoryร่วมกัน?
MultiTasking/MultiProcessing
การ execution ของ Tasks/Processes/Threads (หลายตัว) พร้อมกัน
MultiThreading
เกิดขึ้นภายใน 1 โปรแกรม
เป็นรูปแบบหนึ่ง ใน MultiTasking

Process-Thread-Task ต่างกันยังไงนะ....ไม่รู้

วิธีการสร้าง Thread ใน java มี 2 วิธี