Synchronous แตกต่างกับ Asynchronous
การทำงานแบบ Synchronous คือเมื่อมีการทำงานจะเริ่มทำงานนั้นจนกระทั่งงานนั่นเสร็จสิ้นถึงจะทำงานอื่นต่อได้เพราะมีการใช้สัญญาณนาฬิการ่วมกัน อีกทั้งงานที่เริ่มทำไปแล้วก็ไม่สามารถที่จะสลับไปทำงานอื่นได้ หากมีการส่งค่าให้หน่วยประมวลผลอื่นต้องรอจนกว่าผลจะกลับมาแล้วจึงทำงานต่อ ไม่สามารถสลับงานได้จึงทำให้การทำงานเกิดความล่าช้า
การทำงานแบบ Asynchronous คือการทำงานที่เราสามารถจะสลับไปทำงานอื่นได้ ในขณะที่รอให้งานหนึ่งเสร็จเพราะไม่จำเป็นต้องพึ่งสัญญาณนาฬิกาในการทำงาน เมื่องานนั้นประมวลผลเสร็จแล้วเราก็จะรับผลของงานนั้น แล้วทำต่อได้โดยปกติ งานที่เราทำค้างไว้จะถูกเก็บสถานะและกลับมาทำต่อภายหลังได้
เปรียบเทียบการทำงานแบบ Synchronous และ Asynchronous
จะเห็นว่าการทำงานแบบ Synchronous จะมีบางช่วงเวลาที่เราสลับการทำงานไปที่ Processor อื่น ซึ่ง Processor หลักของเราไม่สามารถสลับไปทำงานอื่นได้ ทำให้ช่วงเวลาที่ส่งค่าไปประมวลผลไม่เกิดประโยชน์
จะต่างจากแบบ Asynchronous ช่วงเวลาที่ส่งค่าไปให้ Processor อื่นประมวลผล จะสามารถสลับไปทำงานอื่นได้ ทำให้เราใช้งาน Processor ได้อย่างเต็มประสิทธิภาพมากกว่า
แต่ทั้งนี้ทั้งนั้นก็ขึ้นอยู่กับลักษณะของงานที่เราต้องการจะใช้ เพราะทั้ง 2 แบบต่างก็มีจุดเด่นที่แตกต่างกัน