Tôi thường đọc rằng song song và đồng thời là những thứ khác nhau. Rất thường những người trả lời / bình luận đi xa như viết rằng họ là hai điều hoàn toàn khác nhau. Tuy nhiên, theo quan điểm của tôi, chúng có liên quan nhưng tôi muốn làm rõ điều đó.
Ví dụ: nếu tôi sử dụng CPU đa lõi và quản lý để phân chia tính toán thành x tính toán nhỏ hơn (giả sử sử dụng fork / nối) mỗi luồng chạy trong luồng riêng, tôi sẽ có một chương trình vừa thực hiện tính toán song song (vì được cho là tại bất kỳ thời điểm nào, một số luồng sẽ chạy trên một số lõi) và đồng thời phải không?
Trong khi nếu tôi chỉ đơn giản sử dụng, giả sử, Java và xử lý các sự kiện UI và phát lại trên Chuỗi xử lý sự kiện cộng với việc chạy luồng duy nhất do tôi tự tạo, tôi sẽ có một chương trình đồng thời (luồng EDT + GC + luồng chính của tôi v.v.) nhưng không song song.
Tôi muốn biết liệu tôi có đúng không và nếu song song (trên hệ thống "đơn nhưng đa lõi") luôn ngụ ý đồng thời hay không?
Ngoài ra, các chương trình đa luồng có chạy trên CPU đa lõi không, nhưng các luồng khác nhau đang thực hiện tính toán hoàn toàn khác nhau được coi là sử dụng "song song"?