Sự khác biệt giữa đồng thời và song song là gì?

1131
StackUnderflow 2009-06-27 07:18.

Sự khác biệt giữa đồng thời và song song là gì?

Các ví dụ được đánh giá cao.

30 answers

1354
RichieHindle 2009-06-27 07:24.

Đồng thời là khi hai hoặc nhiều công việc có thể bắt đầu, chạy, và hoàn thành trong thời gian chồng chéo thời kỳ . Nó không nhất thiết có nghĩa là cả hai sẽ chạy ngay lập tức . Ví dụ, đa nhiệm trên máy lõi đơn.

Song song là khi các tác vụ thực sự chạy cùng một lúc, ví dụ: trên bộ xử lý đa lõi.


Trích dẫn Hướng dẫn Lập trình Đa luồng của Sun :

  • Đồng thời: Một điều kiện tồn tại khi có ít nhất hai luồng đang thực hiện. Một dạng song song khái quát hơn có thể bao gồm cắt thời gian như một dạng song song ảo.

  • Song song: Một điều kiện phát sinh khi có ít nhất hai luồng đang thực hiện đồng thời.

555
Methos 2014-07-11 08:44.

Tại sao sự nhầm lẫn tồn tại

Sự nhầm lẫn tồn tại vì nghĩa từ điển của cả hai từ này gần như giống nhau:

  • Đồng thời : hiện có, đang xảy ra hoặc được thực hiện cùng lúc (Dictionary.com)
  • Song song : rất giống nhau và thường xảy ra cùng một lúc (merriam webster).

Tuy nhiên, cách chúng được sử dụng trong khoa học máy tính và lập trình khá khác nhau. Đây là cách giải thích của tôi:

  • Đồng thời : Tính gián đoạn
  • Song song : Tính độc lập

Vì vậy, những gì tôi có nghĩa là trong các định nghĩa trên?

Tôi sẽ làm rõ với một sự tương tự trong thế giới thực. Giả sử bạn phải hoàn thành 2 nhiệm vụ rất quan trọng trong một ngày:

  1. Nhận được một hộ chiếu
  2. Hoàn thành một bài thuyết trình

Bây giờ, vấn đề là nhiệm vụ 1 yêu cầu bạn phải đến một văn phòng chính phủ cực kỳ quan liêu khiến bạn phải xếp hàng chờ 4 tiếng đồng hồ để lấy hộ chiếu. Trong khi đó, nhiệm vụ 2 được yêu cầu bởi văn phòng của bạn và nó là một nhiệm vụ quan trọng. Cả hai phải được hoàn thành vào một ngày cụ thể.

Trường hợp 1: Thực thi tuần tự

Thông thường, bạn sẽ lái xe đến văn phòng hộ chiếu trong 2 giờ, xếp hàng chờ trong 4 giờ, hoàn thành nhiệm vụ, lái xe về hai giờ, về nhà, thức thêm 5 giờ và hoàn thành bài thuyết trình.

Trường hợp 2: Thực hiện đồng thời

Nhưng bạn thông minh. Bạn lên kế hoạch trước. Bạn mang theo máy tính xách tay và trong khi xếp hàng chờ, bạn bắt đầu làm việc với bài thuyết trình của mình. Bằng cách này, khi trở về nhà, bạn chỉ cần làm thêm 1 giờ thay vì 5 giờ.

Trong trường hợp này, cả hai nhiệm vụ đều do bạn thực hiện, chỉ là từng phần nhỏ. Bạn đã làm gián đoạn nhiệm vụ hộ chiếu khi đang xếp hàng chờ đợi và trình bày. Khi số của bạn được gọi, bạn đã ngắt tác vụ thuyết trình và chuyển sang tác vụ hộ chiếu. Việc tiết kiệm thời gian về cơ bản là có thể do khả năng gián đoạn của cả hai nhiệm vụ.

Concurrency, IMO, có thể hiểu là thuộc tính "cách ly" trong ACID . Hai giao dịch cơ sở dữ liệu được coi là cô lập nếu các giao dịch con có thể được thực hiện theo từng cách xen kẽ và kết quả cuối cùng giống như khi hai tác vụ được thực hiện tuần tự. Hãy nhớ rằng đối với cả nhiệm vụ hộ chiếu và xuất trình, bạn là kẻ hành quyết duy nhất .

Trường hợp 3: Thực hiện song song

Bây giờ, vì bạn là một người thông minh như vậy, bạn rõ ràng là cấp trên và bạn có một trợ lý. Vì vậy, trước khi rời đi để bắt đầu công việc làm hộ chiếu, bạn gọi cho anh ấy và bảo anh ấy chuẩn bị bản thảo đầu tiên của bài thuyết trình. Bạn dành cả ngày và hoàn thành công việc làm hộ chiếu, quay lại xem thư và tìm bản nháp của bản trình bày. Anh ấy đã hoàn thành một công việc khá ổn định và với một số chỉnh sửa trong 2 giờ nữa, bạn sẽ hoàn thành nó.

Giờ đây, trợ lý của bạn cũng thông minh như bạn, anh ấy có thể làm việc độc lập mà không cần phải liên tục hỏi bạn để giải thích rõ. Vì vậy, do tính độc lập của các nhiệm vụ, chúng được thực hiện cùng một lúc bởi hai đao phủ khác nhau .

Vẫn còn với tôi? Ổn thỏa...

Trường hợp 4: Đồng thời nhưng không song song

Hãy nhớ nhiệm vụ hộ chiếu của bạn, nơi bạn phải xếp hàng đợi? Vì nó là bạn hộ chiếu, trợ lý của bạn không thể chờ đợi trong dòng cho bạn. Do đó, nhiệm vụ hộ chiếu có khả năng bị gián đoạn (bạn có thể dừng nó trong khi chờ xếp hàng và tiếp tục sau khi số của bạn được gọi), nhưng không có tính độc lập (trợ lý của bạn không thể đợi thay bạn).

Trường hợp 5: Song song nhưng không đồng thời

Giả sử văn phòng chính phủ có kiểm tra an ninh để vào cơ sở. Tại đây, bạn phải gỡ bỏ tất cả các thiết bị điện tử và nộp cho các sĩ quan, và họ chỉ trả lại thiết bị của bạn sau khi bạn hoàn thành nhiệm vụ của mình.

Trong trường hợp này, nhiệm vụ hộ chiếu không thể độc lập cũng như không thể bị gián đoạn . Ngay cả khi bạn đang xếp hàng chờ đợi, bạn không thể làm việc khác vì bạn không có thiết bị cần thiết.

Tương tự, giả sử bài thuyết trình có tính chất toán học cao đến mức bạn cần tập trung 100% trong ít nhất 5 giờ. Bạn không thể làm điều đó trong khi xếp hàng chờ làm hộ chiếu, ngay cả khi bạn có máy tính xách tay bên mình.

Trong trường hợp này, nhiệm vụ thuyết trình là độc lập (bạn hoặc trợ lý của bạn có thể tập trung trong 5 giờ), nhưng không bị gián đoạn .

Trường hợp 6: Thực hiện đồng thời và song song

Bây giờ, giả sử ngoài việc chỉ định trợ lý của bạn cho bài thuyết trình, bạn còn mang theo một máy tính xách tay để làm hộ chiếu. Trong khi xếp hàng chờ đợi, bạn thấy rằng trợ lý của mình đã tạo 10 trang trình bày đầu tiên trong bộ bài chia sẻ. Bạn gửi nhận xét về công việc của mình với một số chỉnh sửa. Sau đó, khi bạn trở về nhà, thay vì 2 giờ để hoàn thiện bản nháp, bạn chỉ cần 15 phút.

Điều này có thể xảy ra vì tác vụ trình bày có tính độc lập (một trong hai người có thể làm) và khả năng gián đoạn (bạn có thể dừng nó và tiếp tục sau). Vì vậy, bạn thực hiện đồng thời cả hai tác vụ và thực hiện tác vụ trình bày song song.

Hãy nói rằng, ngoài quan liêu quá mức, văn phòng chính phủ còn tham nhũng. Do đó, bạn có thể xuất trình giấy tờ tùy thân của mình, nhập mã số, bắt đầu xếp hàng đợi số của bạn được gọi, hối lộ bảo vệ và người khác để giữ vị trí của bạn trong đường dây, lẻn ra, quay lại trước khi số của bạn được gọi và tiếp tục chờ bản thân bạn.

Trong trường hợp này, bạn có thể thực hiện đồng thời và song song cả hai tác vụ xuất trình và hộ chiếu. Bạn có thể lẻn ra ngoài, và vị trí của bạn do trợ lý của bạn nắm giữ. Sau đó, cả hai bạn có thể làm việc trên bản trình bày, v.v.


Quay lại Khoa học Máy tính

Trong thế giới máy tính, đây là các tình huống ví dụ điển hình cho từng trường hợp sau:

  • Trường hợp 1: Xử lý gián đoạn.
  • Trường hợp 2: Khi chỉ có một bộ xử lý nhưng tất cả các tác vụ đang thực thi đều có thời gian chờ do I / O.
  • Trường hợp 3: Thường thấy khi chúng ta đang nói về các cụm thu nhỏ hoặc hadoop bản đồ.
  • Trường hợp 4: Tôi nghĩ Trường hợp 4 là hiếm. Không phổ biến khi một nhiệm vụ được thực hiện đồng thời nhưng không song song. Nhưng nó có thể xảy ra. Ví dụ: giả sử tác vụ của bạn yêu cầu quyền truy cập vào một chip tính toán đặc biệt chỉ có thể được truy cập thông qua bộ xử lý-1. Do đó, ngay cả khi bộ xử lý-2 miễn phí và bộ xử lý-1 đang thực hiện một số tác vụ khác, tác vụ tính toán đặc biệt không thể tiến hành trên bộ xử lý-2.
  • Trường hợp 5: cũng hiếm, nhưng không hoàn toàn hiếm như Trường hợp 4. Mã không đồng thời có thể là một vùng quan trọng được bảo vệ bởi mutexes. Khi nó được bắt đầu, nó phải thực thi để hoàn thành. Tuy nhiên, hai vùng quan trọng khác nhau có thể tiến triển đồng thời trên hai bộ xử lý khác nhau.
  • Trường hợp 6: IMO, hầu hết các cuộc thảo luận về lập trình song song hoặc đồng thời về cơ bản là nói về Trường hợp 6. Đây là sự kết hợp và kết hợp của cả thực thi song song và đồng thời.

Đồng thời và Đi

Nếu bạn thấy lý do tại sao Rob Pike nói rằng đồng thời là tốt hơn, bạn phải hiểu rằng lý do là. Bạn có một nhiệm vụ thực sự dài, trong đó có nhiều khoảng thời gian chờ đợi bạn chờ một số thao tác bên ngoài như đọc tệp, tải xuống mạng. Trong bài giảng của mình, tất cả những gì anh ấy đang nói là, "chỉ cần chia nhỏ nhiệm vụ tuần tự dài này để bạn có thể làm điều gì đó hữu ích trong khi chờ đợi." Đó là lý do tại sao anh ấy nói về các tổ chức khác nhau với nhiều gophers khác nhau.

Giờ đây, sức mạnh của cờ vây đến từ việc biến việc phá vỡ này trở nên thực sự dễ dàng với gotừ khóa và kênh. Ngoài ra, có sự hỗ trợ cơ bản tuyệt vời trong thời gian chạy để lập lịch trình các tuyến sinh dục này.

Nhưng về cơ bản, liệu đồng thời có tốt hơn song song không?

Táo có tốt hơn cam không?

251
asfer 2012-08-20 22:52.

Tôi thích bài nói chuyện của Rob Pike: Đồng tiền không phải là thuyết song song (nó tốt hơn!) (Slide) (nói chuyện)

Rob thường nói về cờ vây và thường giải quyết câu hỏi Đồng thời vs Song song bằng cách giải thích trực quan và trực quan! Đây là một bản tóm tắt ngắn:

Nhiệm vụ: Hãy đốt một đống sách hướng dẫn ngôn ngữ lỗi thời! Cùng một lúc!

Đồng thời: Có nhiều sự phân tách đồng thời của nhiệm vụ! Một ví dụ:

Song song: Cấu hình trước đó xảy ra song song nếu có ít nhất 2 gophers làm việc cùng lúc hoặc không.

157
Thomas T 2012-11-05 20:21.

Để thêm vào những gì người khác đã nói:

Concurrency giống như có một người tung hứng tung hứng nhiều quả bóng. Bất kể nó có vẻ như thế nào, người tung hứng chỉ bắt / ném một quả bóng cho mỗi tay tại một thời điểm. Song song là có nhiều người tung hứng cùng lúc tung hứng các quả bóng.

131
Pithikos 2015-06-11 05:39.

Giả sử bạn có một chương trình có hai luồng. Chương trình có thể chạy theo hai cách:

Concurrency                 Concurrency + parallelism
(Single-Core CPU)           (Multi-Core CPU)
 ___                         ___ ___
|th1|                       |th1|th2|
|   |                       |   |___|
|___|___                    |   |___
    |th2|                   |___|th2|
 ___|___|                    ___|___|
|th1|                       |th1|
|___|___                    |   |___
    |th2|                   |   |th2|

Trong cả hai trường hợp, chúng ta có đồng thời chỉ vì chúng ta có nhiều hơn một luồng đang chạy.

Nếu chúng tôi chạy chương trình này trên máy tính có một lõi CPU, hệ điều hành sẽ chuyển đổi giữa hai luồng, cho phép một luồng chạy tại một thời điểm.

Nếu chúng tôi chạy chương trình này trên một máy tính có CPU đa lõi thì chúng tôi sẽ có thể chạy hai luồng song song - song song với nhau cùng một lúc.

54
Rajendra Uppal 2010-11-14 21:12.

Đồng thời: Nếu hai hoặc nhiều vấn đề được giải quyết bởi một bộ xử lý duy nhất.

Song song: Nếu một vấn đề được giải quyết bởi nhiều bộ xử lý.

47
Ramy M. Mousa 2017-01-18 10:22.

Hãy tưởng tượng học một ngôn ngữ lập trình mới bằng cách xem video hướng dẫn. Bạn cần tạm dừng video, áp dụng những gì đã nói trong mã sau đó tiếp tục xem. Đó là sự đồng thời.

Bây giờ bạn là một lập trình viên chuyên nghiệp. Và bạn thích nghe nhạc êm đềm trong khi viết mã. Đó là thuyết song song.

Như Andrew Gerrand đã nói trong Blog GoLang

Đồng thời là về việc xử lý nhiều thứ cùng một lúc. Song song là làm nhiều việc cùng một lúc.

Thưởng thức.

39
sactiw 2015-04-23 01:24.

Tôi sẽ cố gắng giải thích bằng một ví dụ thú vị và dễ hiểu. :)

Giả sử rằng một đơn vị tổ chức một giải đấu cờ vua trong đó 10 kỳ thủ ( có kỹ năng chơi cờ ngang nhau ) sẽ thách đấu với một kỳ thủ cờ tướng chuyên nghiệp . Và vì cờ vua là trò chơi 1: 1 nên ban tổ chức phải tiến hành 10 ván đấu trong thời gian hiệu quả để có thể kết thúc toàn bộ sự kiện nhanh nhất có thể.

Hy vọng rằng các tình huống sau sẽ dễ dàng mô tả nhiều cách để tiến hành 10 trò chơi này:

1) SERIAL - giả sử rằng chuyên gia chơi với từng người một, nghĩa là bắt đầu và kết thúc trò chơi với một người và sau đó bắt đầu trò chơi tiếp theo với người tiếp theo, v.v. Nói cách khác, họ quyết định tiến hành các trò chơi một cách tuần tự. Vì vậy, nếu một trò chơi mất 10 phút để hoàn thành thì 10 trò chơi sẽ mất 100 phút, cũng giả sử rằng quá trình chuyển đổi từ trò chơi này sang trò chơi khác mất 6 giây thì đối với 10 trò chơi sẽ là 54 giây (khoảng 1 phút).

vì vậy toàn bộ sự kiện sẽ hoàn thành khoảng 101 phút ( CÁCH TIẾP CẬN TỐT NHẤT )

2) CONCURRENT - giả sử chuyên nghiệp chơi lượt của mình và chuyển sang người chơi tiếp theo để tất cả 10 người chơi đang chơi đồng thời nhưng người chơi chuyên nghiệp không chơi với hai người cùng một lúc, anh ta chơi lượt của mình và chuyển sang người tiếp theo. Bây giờ, giả sử người chơi chuyên nghiệp mất 6 giây để chơi lượt của mình và thời gian chuyển tiếp của người chơi chuyên nghiệp b / w hai người chơi là 6 giây nên tổng thời gian chuyển đổi để quay lại người chơi đầu tiên sẽ là 1 phút (10x6 giây). Do đó, vào thời điểm anh ấy quay lại với người đầu tiên, người đã bắt đầu sự kiện, đã 2 phút trôi qua (10xtime_per_turn_by_chaosystem + 10xtransition_time = 2 phút)

Giả sử rằng tất cả người chơi mất 45 giây để hoàn thành lượt của họ, vì vậy dựa trên 10 phút mỗi trò chơi từ sự kiện SERIAL là không. số hiệp trước khi trận đấu kết thúc phải 600 / (45 + 6) = 11 hiệp (ước chừng)

Vì vậy, toàn bộ sự kiện sẽ gần như hoàn thành sau 11xtime_per_turn_by_player _ & _ vô địch + 11xtransition_time_across_10_players = 11x51 + 11x60 giây = 561 + 660 = 1221 giây = 20,35 phút (ước chừng)

XEM SỰ CẢI TIẾN từ 101 phút lên 20,35 phút ( CÁCH TIẾP CẬN TỐT HƠN )

3) PARALLEL - giả sử ban tổ chức nhận được thêm một số tiền và do đó quyết định mời hai người chơi vô địch chuyên nghiệp (cả hai đều có khả năng như nhau) và chia nhóm 10 người chơi giống nhau (người thách thức) thành hai nhóm 5 người và chỉ định họ cho hai nhà vô địch tức là một nhóm mỗi. Bây giờ sự kiện đang diễn ra song song trong hai set này tức là có ít nhất hai người chơi (mỗi người một nhóm) đang đấu với hai tay vợt chuyên nghiệp trong nhóm tương ứng của họ.

Tuy nhiên, trong nhóm người chơi chuyên nghiệp với từng người chơi một (tức là tuần tự) nên không cần tính toán, bạn có thể dễ dàng suy ra rằng toàn bộ sự kiện sẽ hoàn thành xấp xỉ trong 101/2 = 50,5 phút để hoàn thành

XEM SỰ CẢI TIẾN từ 101 phút đến 50,5 phút ( CÁCH TIẾP CẬN TỐT )

4) CONCURRENT + PARALLEL - Trong trường hợp trên, giả sử rằng hai người chơi vô địch sẽ chơi đồng thời (đọc điểm thứ 2) với 5 người chơi trong các nhóm tương ứng của họ, vì vậy bây giờ các trò chơi giữa các nhóm đang chạy song song nhưng trong nhóm họ đang chạy đồng thời.

Vì vậy, các trò chơi trong một nhóm sẽ hoàn thành khoảng 11xtime_per_turn_by_player _ & _ vô địch + 11xtransition_time_across_5_players = 11x51 + 11x30 = 600 + 330 = 930 giây = 15,5 phút (ước chừng)

Vì vậy, toàn bộ sự kiện (liên quan đến hai nhóm chạy song song như vậy) sẽ hoàn thành khoảng 15,5 phút

XEM SỰ CẢI TIẾN từ 101 phút đến 15,5 phút ( CÁCH TIẾP CẬN TỐT NHẤT )

LƯU Ý: trong trường hợp trên nếu bạn thay thế 10 người chơi với 10 công việc tương tự và hai người chơi chuyên nghiệp bằng hai lõi CPU thì thứ tự sau sẽ vẫn đúng:

SERIAL> PARALLEL> CONCURRENT> CONCURRENT + PARALLEL

(LƯU Ý: thứ tự này có thể thay đổi đối với các tình huống khác vì thứ tự này phụ thuộc nhiều vào sự phụ thuộc lẫn nhau của các công việc, nhu cầu giao tiếp với các công việc b / w và các công việc b / w tổng chi phí chuyển đổi)

35
Saurabh Pakhare 2015-01-28 17:29.

Ví dụ đơn giản:

Đồng thời là: "Hai hàng đợi truy cập một máy ATM"

Song song là: "Hai hàng đợi và hai máy ATM"

31
JP Alioto 2009-06-27 07:36.

Họ giải quyết các vấn đề khác nhau. Đồng thời giải quyết vấn đề có tài nguyên CPU khan hiếm và nhiều tác vụ. Vì vậy, bạn tạo luồng hoặc đường dẫn thực thi độc lập thông qua mã để chia sẻ thời gian trên nguồn tài nguyên khan hiếm. Cho đến gần đây, đồng thời đã thống trị cuộc thảo luận vì tính khả dụng của CPU.

Song song giải quyết vấn đề tìm đủ các tác vụ và các tác vụ thích hợp (những tác vụ có thể được tách ra một cách chính xác) và phân phối chúng trên tài nguyên CPU dồi dào. Dĩ nhiên, thuyết song song luôn tồn tại, nhưng nó đang đi đầu vì bộ vi xử lý đa lõi rất rẻ.

30
Mihai Toader 2009-06-27 07:23.

sự đồng bộ: nhiều luồng thực thi với khả năng chia sẻ tài nguyên

Ví dụ: hai luồng cạnh tranh cho một cổng I / O.

paralelism: chia nhỏ một vấn đề thành nhiều phần giống nhau.

Ví dụ: phân tích cú pháp một tệp lớn bằng cách chạy hai quá trình trên mỗi nửa tệp.

26
nabster 2018-09-07 09:16.

Song song là thực hiện đồng thời các quá trình trên một multiple cores per CPUhoặc multiple CPUs (on a single motherboard).

Đồng thời là khi Song song đạt được trên a single core/CPUbằng cách sử dụng các thuật toán lập lịch phân chia thời gian của CPU (lát thời gian). Các quy trình được xen kẽ .

Các đơn vị:

  • 1 hoặc nhiều lõi trong một CPU (hầu hết tất cả các bộ vi xử lý hiện đại ngày nay)
  • 1 hoặc nhiều CPU trên bo mạch chủ (nghĩ là các máy chủ cũ)
  • 1 ứng dụng là 1 chương trình (nghĩ rằng trình duyệt Chrome)
  • 1 chương trình có thể có 1 hoặc nhiều quy trình (nghĩ rằng mỗi tab trình duyệt Chrome là một quy trình)
  • 1 quy trình có thể có 1 hoặc nhiều luồng từ 1 chương trình (tab Chrome phát video Youtube trong 1 luồng, một luồng khác sinh ra cho phần nhận xét, một luồng khác cho thông tin đăng nhập của người dùng)
  • Như vậy, 1 chương trình có thể có 1 hoặc nhiều luồng thực thi
  • 1 tiến trình là thread(s)+allocated memory resources by OS (đống, thanh ghi, ngăn xếp, bộ nhớ lớp)
22
Apurva Thorat 2018-11-09 10:33.

Thực thi lập trình đồng thời có 2 loại: lập trình đồng thời không song song và lập trình đồng thời song song (hay còn gọi là song song).

Sự khác biệt chính là đối với mắt người, các luồng trong đồng thời không song song dường như chạy cùng một lúc nhưng trên thực tế thì không. Trong các luồng xử lý đồng thời không song song nhanh chóng chuyển đổi và thay phiên nhau sử dụng bộ xử lý thông qua việc phân chia thời gian. Trong khi song song, có nhiều bộ xử lý có sẵn, vì vậy nhiều luồng có thể chạy trên các bộ xử lý khác nhau cùng một lúc.

Tham khảo: Giới thiệu về Đồng tiền trong ngôn ngữ lập trình

11
MBK 2013-04-24 15:29.

Đồng thời => Khi nhiều tác vụ được thực hiện trong khoảng thời gian chồng chéo với tài nguyên được chia sẻ (có khả năng tối đa hóa việc sử dụng tài nguyên).

Song song => khi nhiệm vụ đơn lẻ được chia thành nhiều nhiệm vụ con độc lập đơn giản có thể thực hiện đồng thời.

10
Rahul 2013-09-11 11:03.

Hãy coi đó là hàng đợi phục vụ trong đó máy chủ chỉ có thể phục vụ công việc đầu tiên trong hàng đợi.

1 máy chủ, 1 hàng đợi công việc (với 5 công việc) -> không đồng thời, không song song (Chỉ có một công việc đang được phục vụ để hoàn thành, công việc tiếp theo trong hàng đợi phải đợi cho đến khi công việc được phục vụ hoàn thành và không có máy chủ nào khác để phục vụ nó)

1 máy chủ, 2 hoặc nhiều hàng đợi khác nhau (với 5 công việc cho mỗi hàng đợi) -> đồng thời (vì máy chủ đang chia sẻ thời gian với tất cả các công việc đầu tiên trong hàng đợi, bằng nhau hoặc có trọng số), vẫn không có sự song song vì ngay lập tức, có một và duy nhất công việc đang được phục vụ.

2 hoặc nhiều máy chủ, một Hàng đợi -> song song (2 công việc được thực hiện cùng lúc ngay lập tức) nhưng không đồng thời (máy chủ không chia sẻ thời gian, công việc thứ 3 phải đợi cho đến khi một trong các máy chủ hoàn thành.)

2 hoặc nhiều máy chủ, 2 hoặc nhiều hàng đợi khác nhau -> đồng thời và song song

Nói cách khác, đồng thời là chia sẻ thời gian để hoàn thành một công việc, nó CÓ THỂ mất cùng một khoảng thời gian để hoàn thành công việc của mình nhưng ít nhất nó được bắt đầu sớm. Điều quan trọng là, các công việc có thể được chia thành các công việc nhỏ hơn, điều này cho phép xen kẽ.

Song song đạt được chỉ với nhiều CPU, máy chủ, con người, v.v. chạy song song.

Hãy nhớ rằng, nếu các tài nguyên được chia sẻ, không thể đạt được tính song song thuần túy, nhưng đây là nơi mà tính đồng thời sẽ có giá trị sử dụng thực tế tốt nhất, đảm nhận một công việc khác không cần tài nguyên đó.

8
Ben Ylvisaker 2014-03-27 10:33.

Tôi sẽ đưa ra một câu trả lời hơi mâu thuẫn với một số câu trả lời phổ biến ở đây. Theo tôi, đồng thời là một thuật ngữ chung bao gồm song song. Đồng thời áp dụng cho bất kỳ tình huống nào mà các nhiệm vụ hoặc đơn vị công việc khác nhau trùng lặp về thời gian. Song song áp dụng cụ thể hơn cho các tình huống mà các đơn vị công việc khác nhau được đánh giá / thực hiện cùng một lúc. Điểm nổi bật của chủ nghĩa song song là tăng tốc phần mềm có thể hưởng lợi từ nhiều tài nguyên máy tính vật lý. Khái niệm chính khác phù hợp với đồng thời là tính tương tác. Tính tương tác áp dụng khi có thể quan sát được sự chồng chéo của các nhiệm vụ từ thế giới bên ngoài. Đặc điểm nổi bật của tính tương tác là tạo ra phần mềm đáp ứng với các thực thể trong thế giới thực như người dùng, mạng ngang hàng, thiết bị ngoại vi phần cứng, v.v.

Song song và tương tác là thứ nguyên gần như hoàn toàn độc lập với đồng thời. Đối với một dự án cụ thể, các nhà phát triển có thể quan tâm đến một trong hai hoặc cả hai. Chúng có xu hướng trở nên phức tạp, đặc biệt là bởi vì sự ghê tởm là các chủ đề cung cấp một nguyên thủy hợp lý thuận tiện để làm cả hai.

Chi tiết hơn một chút về song song :

Song song tồn tại ở các quy mô rất nhỏ (ví dụ song song mức lệnh trong bộ xử lý), quy mô trung bình (ví dụ: bộ xử lý đa lõi) và quy mô lớn (ví dụ cụm máy tính hiệu suất cao). Áp lực đối với các nhà phát triển phần mềm trong việc phơi bày song song mức luồng nhiều hơn đã tăng lên trong những năm gần đây, do sự phát triển của các bộ xử lý đa lõi. Chủ nghĩa song song được kết nối mật thiết với khái niệm phụ thuộc . Sự phụ thuộc hạn chế mức độ có thể đạt được song song; hai nhiệm vụ không thể được thực hiện song song nếu cái này phụ thuộc vào cái kia (Bỏ qua suy đoán).

Có rất nhiều khuôn mẫu và khuôn khổ mà lập trình viên sử dụng để thể hiện tính song song: đường ống dẫn, nhóm tác vụ, hoạt động tổng hợp trên cấu trúc dữ liệu ("mảng song song").

Thêm một chút chi tiết về tương tác :

Cách cơ bản và phổ biến nhất để thực hiện tương tác là với các sự kiện (tức là một vòng lặp sự kiện và các trình xử lý / gọi lại). Đối với các sự kiện nhiệm vụ đơn giản là rất tốt. Cố gắng thực hiện các nhiệm vụ phức tạp hơn với các sự kiện sẽ bị tách ngăn xếp (hay còn gọi là địa ngục gọi lại; còn gọi là đảo ngược điều khiển). Khi bạn cảm thấy nhàm chán với các sự kiện, bạn có thể thử những thứ kỳ lạ hơn như máy phát điện, điều tra (hay còn gọi là Async / Await) hoặc chuỗi hợp tác.

Đối với tình yêu của phần mềm đáng tin cậy, vui lòng không sử dụng chủ đề nếu những gì bạn đang làm là tương tác.

Độ cong

Tôi không thích khẩu hiệu "đồng thời không phải là song song; nó tốt hơn" của Rob Pike. Đồng thời không tốt hơn cũng không tệ hơn so với song song. Tương tác bao gồm tính tương tác không thể so sánh theo cách tốt hơn / tệ hơn với song song. Nó giống như nói "luồng kiểm soát tốt hơn dữ liệu".

7
s1l3n0 2013-04-27 07:40.

Trong điện tử nối tiếpsong song đại diện cho một loại cấu trúc liên kết tĩnh, xác định hoạt động thực tế của mạch. Khi không có sự đồng thời, tính song song là tất định .

Để mô tả các hiện tượng động, liên quan đến thời gian , chúng ta sử dụng các thuật ngữ tuần tựđồng thời . Ví dụ, một kết quả nhất định có thể đạt được thông qua một chuỗi nhiệm vụ nhất định (ví dụ: một công thức). Khi chúng ta nói chuyện với ai đó, chúng ta đang tạo ra một chuỗi các từ. Tuy nhiên, trong thực tế, nhiều quá trình khác xảy ra trong cùng một thời điểm, và do đó, đồng thời với kết quả thực tế của một hành động nhất định. Nếu nhiều người đang nói chuyện cùng lúc, các cuộc nói chuyện đồng thời có thể ảnh hưởng đến trình tự của chúng ta, nhưng kết quả của sự can thiệp này không được biết trước. Đồng thời giới thiệu tính không xác định .

Đặc tính nối tiếp / song song và tuần tự / đồng thời là trực giao. Một ví dụ về điều này là trong truyền thông kỹ thuật số. Trong bộ điều hợp nối tiếp , một thông điệp kỹ thuật số được phân phối theo thời gian (tức là tuần tự ) dọc theo cùng một đường truyền thông (ví dụ: một dây). Trong bộ điều hợp song song , bộ điều hợp này cũng được phân chia trên các đường truyền thông song song (ví dụ: nhiều dây), và sau đó được tái tạo lại ở đầu nhận.

Hãy để chúng tôi hình dung một trò chơi, với 9 đứa trẻ. Nếu chúng ta xử lý chúng như một chuỗi, đưa ra một thông điệp ở đầu tiên và nhận nó ở cuối, chúng ta sẽ có một giao tiếp nối tiếp. Nhiều từ hơn tạo nên thông điệp, bao gồm một chuỗi liên kết giao tiếp.

I like ice-cream so much. > X > X > X > X > X > X > X > X > X > ....

Đây là một quá trình tuần tự được tái tạo trên cơ sở hạ tầng nối tiếp .

Bây giờ, chúng ta hãy hình ảnh để chia trẻ em thành các nhóm 3. Chúng tôi chia cụm từ thành ba phần, đưa cụm từ đầu tiên cho trẻ em của dòng bên trái của chúng tôi, thứ hai cho trẻ em của dòng trung tâm, v.v.

I like ice-cream so much. > I like    > X > X > X > .... > ....
                          > ice-cream > X > X > X > ....
                          > so much   > X > X > X > ....

Đây là một quá trình tuần tự được tái tạo trên cơ sở hạ tầng song song (mặc dù vẫn được tuần tự hóa một phần).

Trong cả hai trường hợp, giả sử có sự giao tiếp hoàn hảo giữa các con, kết quả được xác định trước.

Nếu có những người khác nói chuyện với đứa trẻ đầu tiên cùng lúc với bạn, thì chúng tôi sẽ có các quy trình đồng thời . Chúng tôi không biết quy trình nào sẽ được cơ sở hạ tầng xem xét, vì vậy kết quả cuối cùng không được xác định trước.

6
Noname 2015-06-24 07:33.

Tương tranh là hình thức tổng quát của song song. Ví dụ chương trình song song cũng có thể được gọi là đồng thời nhưng ngược lại thì không đúng.

  1. Có thể thực thi đồng thời trên một bộ xử lý (nhiều luồng, được quản lý bởi bộ lập lịch hoặc nhóm luồng)

  2. Không thể thực hiện song song trên một bộ xử lý mà trên nhiều bộ xử lý. (Một quy trình cho mỗi bộ xử lý)

  3. Tính toán phân tán cũng là một chủ đề liên quan và nó cũng có thể được gọi là tính toán đồng thời nhưng ngược lại thì không đúng, giống như song song.

Để biết chi tiết, hãy đọc tài liệu nghiên cứu này Các khái niệm về lập trình đồng thời

6
dangom 2016-11-03 01:30.

Tôi thực sự thích câu trả lời của Paul Butcher cho câu hỏi này (anh ấy là nhà văn của Bảy mô hình tiền tệ tương tranh trong Bảy tuần ):

Mặc dù chúng thường bị nhầm lẫn, song song và đồng thời là những thứ khác nhau. Đồng thời là một khía cạnh của miền vấn đề — mã của bạn cần xử lý nhiều sự kiện đồng thời (hoặc gần đồng thời) . Ngược lại, song song là một khía cạnh của miền giải pháp — bạn muốn làm cho chương trình của mình chạy nhanh hơn bằng cách xử lý song song các phần khác nhau của vấn đề. Một số cách tiếp cận có thể áp dụng cho đồng thời, một số cho song song và một số cho cả hai. Hiểu rõ bạn đang gặp phải vấn đề gì và chọn công cụ phù hợp cho công việc.

5
HopeKing 2018-07-04 03:14.

Tôi thực sự thích biểu diễn đồ họa này từ một câu trả lời khác - tôi nghĩ nó trả lời câu hỏi tốt hơn nhiều so với rất nhiều câu trả lời ở trên

Song song vs Đồng thời Khi hai luồng chạy song song, chúng chạy cùng một lúc. Ví dụ: nếu chúng ta có hai luồng, A và B, thì quá trình thực thi song song của chúng sẽ giống như sau:

CPU 1: A ------------------------->

CPU 2: B ------------------------->

Khi hai luồng chạy đồng thời, việc thực thi của chúng sẽ chồng chéo lên nhau. Việc chồng chéo có thể xảy ra theo một trong hai cách: hoặc các luồng đang thực thi cùng một lúc (tức là song song, như trên) hoặc các quá trình thực thi của chúng đang được xen kẽ trên bộ xử lý, như sau:

CPU 1: A -----------> B ----------> A -----------> B -------- ->

Vì vậy, đối với mục đích của chúng tôi, song song có thể được coi là một trường hợp đặc biệt của đồng thời

Nguồn: Một câu trả lời khác tại đây

Hy vọng rằng sẽ giúp.

4
Daniel Soutar 2018-04-17 14:54.

Theo tôi, cách hiểu đơn giản và tao nhã nhất về cả hai là thế này. Đồng thời cho phép thực hiện xen kẽ và do đó có thể tạo ra ảo tưởng về tính song song. Điều này có nghĩa là một hệ thống đồng thời có thể chạy video Youtube của bạn cùng với việc bạn viết tài liệu trong Word chẳng hạn. Hệ điều hành cơ bản, là một hệ thống đồng thời, cho phép các tác vụ đó xen kẽ việc thực thi của chúng. Bởi vì máy tính thực hiện các lệnh quá nhanh, điều này có vẻ như thực hiện hai việc cùng một lúc.

Xử lý song song là khi những điều đó thực sự song song. Trong ví dụ trên, bạn có thể thấy mã xử lý video đang được thực thi trên một lõi đơn và ứng dụng Word đang chạy trên một lõi khác. Lưu ý rằng điều này có nghĩa là một chương trình đồng thời cũng có thể song song! Cấu trúc ứng dụng của bạn với các luồng và quy trình cho phép chương trình của bạn khai thác phần cứng bên dưới và có khả năng được thực hiện song song.

Tại sao không có mọi thứ song song sau đó? Một lý do là vì đồng thời là một cách cấu trúc chương trình và là một quyết định thiết kế để tạo điều kiện tách biệt các mối quan tâm, trong khi song song thường được sử dụng dưới danh nghĩa hiệu suất. Khác là một số việc về cơ bản không thể hoàn toàn được thực hiện song song. Một ví dụ về điều này sẽ là thêm hai thứ vào phía sau hàng đợi - bạn không thể chèn cả hai thứ cùng một lúc. Cái gì đó phải đi trước và cái khác đứng sau nó, nếu không bạn sẽ làm lộn xộn hàng đợi. Mặc dù chúng ta có thể xen kẽ việc thực thi như vậy (và do đó chúng ta nhận được một hàng đợi đồng thời), nhưng bạn không thể để nó song song.

Hi vọng điêu nay co ich!

3
kboom 2017-01-18 07:58.

Đồng thời có thể liên quan đến các tác vụ chạy đồng thời hoặc không (chúng thực sự có thể được chạy trong các bộ xử lý / lõi riêng biệt nhưng chúng cũng có thể được chạy trong "tích tắc"). Điều quan trọng là đồng thời luôn đề cập đến việc thực hiện một phần của một nhiệm vụ lớn hơn . Vì vậy, về cơ bản nó là một phần của một số tính toán. Bạn phải thông minh về những gì bạn có thể làm đồng thời và những gì không nên và cách đồng bộ hóa.

Song song có nghĩa là bạn chỉ làm một số việc đồng thời. Họ không cần phải tham gia giải quyết một vấn đề. Ví dụ, các chủ đề của bạn có thể giải quyết một vấn đề riêng lẻ. Tất nhiên công cụ đồng bộ hóa cũng được áp dụng nhưng theo quan điểm khác nhau.

3
Branko Dimitrijevic 2018-04-08 17:25.

"Đồng thời" là khi có nhiều thứ đang diễn ra .

"Song song" là khi mọi thứ đồng thời đang tiến triển cùng một lúc .


Ví dụ về đồng thời không có song song:

  • Nhiều luồng trên một lõi duy nhất.
  • Nhiều thư trong hàng đợi thư Win32.
  • Nhiều SqlDataReaders trên một kết nối MARS .
  • Nhiều hứa hẹn JavaScript trong một tab trình duyệt.

Tuy nhiên, lưu ý rằng sự khác biệt giữa đồng thời và song song thường là một vấn đề quan điểm. Các ví dụ trên là không song song từ góc độ (tác động có thể quan sát được của việc) thực thi mã của bạn. Nhưng có sự song song mức hướng dẫn ngay cả trong một lõi duy nhất. Có những phần cứng làm những việc song song với CPU và sau đó ngắt CPU khi hoàn thành. GPU có thể được vẽ ra màn hình trong khi thủ tục cửa sổ hoặc trình xử lý sự kiện của bạn đang được thực thi. DBMS có thể đang duyệt qua B-Trees cho truy vấn tiếp theo trong khi bạn vẫn đang tìm nạp kết quả của truy vấn trước đó. Trình duyệt có thể đang thực hiện bố cục hoặc kết nối mạng trong khi của bạn Promise.resolve()đang được thực thi. Vân vân...

Vậy là xong. Thế giới vẫn lộn xộn như mọi khi;)

3
J D 2017-04-16 10:09.

Lập trình đồng thời liên quan đến các hoạt động dường như chồng chéo và chủ yếu quan tâm đến độ phức tạp phát sinh do luồng điều khiển không xác định. Chi phí định lượng liên quan đến các chương trình đồng thời thường là cả thông lượng và độ trễ. Các chương trình đồng thời thường bị ràng buộc IO nhưng không phải lúc nào cũng vậy, ví dụ như bộ thu gom rác đồng thời hoàn toàn nằm trên CPU. Ví dụ sư phạm về chương trình đồng thời là trình thu thập thông tin web. Chương trình này bắt đầu các yêu cầu cho các trang web và chấp nhận các phản hồi đồng thời khi kết quả tải xuống có sẵn, tích lũy một tập hợp các trang đã được truy cập. Luồng điều khiển là không xác định bởi vì các phản hồi không nhất thiết phải nhận được theo cùng một thứ tự mỗi khi chương trình được chạy. Đặc điểm này có thể làm cho việc gỡ lỗi các chương trình đồng thời trở nên rất khó khăn. Một số ứng dụng về cơ bản là đồng thời, ví dụ như máy chủ web phải xử lý các kết nối máy khách đồng thời. Erlang có lẽ là ngôn ngữ sắp ra mắt hứa hẹn nhất cho lập trình đồng thời cao.

Lập trình song song liên quan đến các hoạt động bị chồng chéo cho mục tiêu cụ thể là cải thiện thông lượng. Khó khăn của lập trình đồng thời được tránh bằng cách làm cho luồng điều khiển trở nên xác định. Thông thường, các chương trình sinh ra tập hợp các nhiệm vụ con chạy song song và nhiệm vụ mẹ chỉ tiếp tục sau khi mọi nhiệm vụ con đã hoàn thành. Điều này làm cho các chương trình song song dễ gỡ lỗi hơn nhiều. Phần khó của lập trình song song là tối ưu hóa hiệu suất liên quan đến các vấn đề như mức độ chi tiết và giao tiếp. Vấn đề thứ hai vẫn là một vấn đề trong bối cảnh đa lõi vì có một chi phí đáng kể liên quan đến việc chuyển dữ liệu từ bộ đệm này sang bộ đệm khác. Phép nhân ma trận dày đặc là một ví dụ sư phạm về lập trình song song và nó có thể được giải quyết một cách hiệu quả bằng cách sử dụng thuật toán chia để trị của Straasen và tấn công song song các bài toán con. Cilk có lẽ là ngôn ngữ hứa hẹn nhất để lập trình song song hiệu suất cao trên máy tính dùng chung bộ nhớ (bao gồm cả đa lõi).

Được sao chép từ câu trả lời của tôi: https://stackoverflow.com/a/3982782

3
FrankHB 2018-08-09 19:09.

(Tôi khá ngạc nhiên khi một câu hỏi cơ bản như vậy không được giải quyết một cách chính xác và gọn gàng trong nhiều năm ...)

Tóm lại, cả tính đồng thời và tính song song đều là thuộc tính của máy tính .

Về sự khác biệt, đây là lời giải thích từ Robert Harper :

Điều đầu tiên cần hiểu là song song không liên quan gì đến đồng thời . Đồng thời liên quan đến thành phần không xác định của chương trình (hoặc các thành phần của chúng). Song song quan tâm đến hiệu quả tiệm cận của các chương trình có hành vi xác định . Đồng thời là tất cả về việc quản lý những điều không thể quản lý được: các sự kiện đến vì những lý do ngoài tầm kiểm soát của chúng tôi và chúng tôi phải phản hồi chúng. Người dùng nhấp chuột, trình quản lý cửa sổ phải phản hồi, mặc dù màn hình đang yêu cầu sự chú ý. Tình huống như vậy vốn đã không xác định, nhưng chúng tôi cũng sử dụng pro forma nondeterminism trong một khung cảnh xác định bằng cách giả vờ rằng các thành phần tín hiệu các sự kiện trong một trật tự tùy ý, và rằng chúng ta phải đối phó với họ khi họ xuất hiện. Thành phần không xác định là một ý tưởng cấu trúc chương trình mạnh mẽ. Mặt khác, song song là tất cả về sự phụ thuộc giữa các phép tính con của một phép tính xác định. Không nghi ngờ gì về kết quả, nhưng có nhiều cách để đạt được nó, một số cách hiệu quả hơn những cách khác. Chúng tôi muốn khai thác những cơ hội đó làm lợi thế của chúng tôi.

Chúng có thể là các loại thuộc tính trực giao trong chương trình. Đọc bài đăng trên blog này để có thêm hình ảnh minh họa. Và phần này thảo luận nhiều hơn một chút về sự khác biệt về các thành phần trong lập trình , như các luồng.

Lưu ý rằng phân luồng hoặc đa nhiệm đều là cách triển khai của máy tính phục vụ các mục đích cụ thể hơn. Chúng có thể liên quan đến tính song song và đồng thời, nhưng không phải theo một cách thiết yếu. Vì vậy, chúng hầu như không phải là mục tốt để bắt đầu giải thích.

Một điểm nổi bật nữa: (vật lý) "thời gian" hầu như không liên quan gì đến các thuộc tính được thảo luận ở đây. Thời gian chỉ là một cách thực hiện của phép đo để cho thấy ý nghĩa của các thuộc tính, nhưng xa thực chất. Hãy suy nghĩ kỹ về vai trò của "thời gian" đối với độ phức tạp của thời gian - điều này ít nhiều giống nhau, thậm chí phép đo thường có ý nghĩa hơn trong trường hợp đó.

2
Sudip Bhandari 2017-02-20 23:29.

Song song: Có nhiều luồng thực hiện nhiệm vụ tương tự, độc lập với nhau về dữ liệu và tài nguyên mà chúng yêu cầu để làm như vậy. Ví dụ: Trình thu thập thông tin của Google có thể tạo ra hàng nghìn luồng và mỗi luồng có thể thực hiện nhiệm vụ của nó một cách độc lập.

Đồng thời: Đồng thời xuất hiện khi bạn chia sẻ dữ liệu, chia sẻ tài nguyên giữa các luồng. Trong hệ thống giao dịch, điều này có nghĩa là bạn phải đồng bộ hóa phần quan trọng của mã bằng cách sử dụng một số kỹ thuật như Khóa, semaphores, v.v.

2
Boolean_Type 2017-08-20 01:37.

Giải thích từ nguồn này rất hữu ích cho tôi:

Đồng thời liên quan đến cách một ứng dụng xử lý nhiều tác vụ mà nó hoạt động. Một ứng dụng có thể xử lý một tác vụ tại một thời điểm (tuần tự) hoặc làm việc trên nhiều tác vụ cùng một lúc (đồng thời).

Mặt khác, song song có liên quan đến cách một ứng dụng xử lý từng tác vụ riêng lẻ. Một ứng dụng có thể xử lý nhiệm vụ nối tiếp từ đầu đến cuối hoặc chia nhiệm vụ thành các nhiệm vụ con có thể được hoàn thành song song.

Như bạn thấy, một ứng dụng có thể đồng thời, nhưng không song song. Điều này có nghĩa là nó xử lý nhiều hơn một nhiệm vụ cùng một lúc, nhưng các nhiệm vụ không được chia nhỏ thành các nhiệm vụ con.

Một ứng dụng cũng có thể song song nhưng không đồng thời. Điều này có nghĩa là ứng dụng chỉ hoạt động trên một nhiệm vụ tại một thời điểm và tác vụ này được chia thành các nhiệm vụ con có thể được xử lý song song.

Ngoài ra, một ứng dụng không thể đồng thời hoặc song song. Điều này có nghĩa là nó chỉ hoạt động trên một nhiệm vụ tại một thời điểm và tác vụ không bao giờ được chia thành các nhiệm vụ con để thực hiện song song.

Cuối cùng, một ứng dụng cũng có thể đồng thời và song song, trong đó nó vừa hoạt động trên nhiều tác vụ cùng một lúc và cũng chia từng tác vụ thành các nhiệm vụ con để thực hiện song song. Tuy nhiên, một số lợi ích của tính đồng thời và song song có thể bị mất trong trường hợp này, vì các CPU trong máy tính đã được giữ ở chế độ bận hợp lý chỉ với tính năng đồng thời hoặc song song. Kết hợp nó có thể chỉ dẫn đến một hiệu suất nhỏ hoặc thậm chí giảm hiệu suất.

2
Geoffrey Anderson 2019-01-01 14:00.

"Đồng thời" là làm mọi thứ - mọi thứ - cùng một lúc. Chúng có thể là những thứ khác nhau, hoặc giống nhau. Bất chấp câu trả lời được chấp nhận, câu trả lời còn thiếu, đó không phải là "xuất hiện cùng một lúc." Nó thực sự cùng một lúc. Bạn cần nhiều lõi CPU, sử dụng bộ nhớ dùng chung trong một máy chủ hoặc bộ nhớ phân tán trên các máy chủ khác nhau, để chạy mã đồng thời. Các đường ống của 3 nhiệm vụ riêng biệt đang chạy đồng thời cùng một lúc là một ví dụ: Nhiệm vụ cấp 2 phải đợi các đơn vị hoàn thành bởi nhiệm vụ cấp 1 và nhiệm vụ cấp 3 phải đợi các đơn vị công việc hoàn thành bởi nhiệm vụ cấp-2. Một ví dụ khác là sự đồng thời của 1 người sản xuất với 1 người tiêu dùng; hoặc nhiều người sản xuất và 1 người tiêu dùng; người đọc và người viết; et al.

"Song song" là làm những việc giống nhau cùng một lúc. Nó diễn ra đồng thời, nhưng hơn nữa nó là cùng một hành vi xảy ra cùng một lúc và điển hình nhất là trên các dữ liệu khác nhau. Đại số ma trận thường có thể được song song hóa, bởi vì bạn có cùng một hoạt động chạy lặp lại: Ví dụ: tất cả các tổng cột của ma trận có thể được tính cùng một lúc bằng cách sử dụng cùng một hành vi (tổng) nhưng trên các cột khác nhau. Đây là một chiến lược phổ biến để phân vùng (chia nhỏ) các cột giữa các lõi bộ xử lý có sẵn, để bạn có gần cùng một lượng công việc (số cột) được xử lý bởi mỗi lõi bộ xử lý. Một cách khác để chia nhỏ công việc là phân chia công việc, trong đó những người lao động hoàn thành công việc của họ sẽ quay lại với người quản lý để giao công việc và năng động làm thêm cho đến khi mọi việc hoàn thành. Thuật toán bán vé là một thuật toán khác.

Không chỉ mã số có thể được song song hóa. Các tệp quá thường xuyên có thể được xử lý song song. Trong ứng dụng xử lý ngôn ngữ tự nhiên, đối với mỗi trong số hàng triệu tệp tài liệu, bạn có thể cần đếm số lượng mã thông báo trong tài liệu. Điều này là song song, bởi vì bạn đang đếm các mã thông báo, có cùng một hành vi, cho mọi tệp.

Nói cách khác, song song là khi cùng một hành vi được thực hiện đồng thời. Đồng thời có nghĩa là cùng một lúc, nhưng không nhất thiết phải cùng một hành vi. Song song là một loại đồng thời cụ thể trong đó điều tương tự xảy ra cùng một lúc.

Ví dụ: các điều khoản sẽ bao gồm hướng dẫn nguyên tử, các phần quan trọng, loại trừ lẫn nhau, chờ quay vòng, bán kết, màn hình, rào cản, truyền thông báo, giảm bản đồ, nhịp tim, đổ chuông, thuật toán bán vé, chủ đề, MPI, OpenMP.

Tác phẩm của Gregory Andrews là một cuốn sách giáo khoa hàng đầu về nó: Lập trình đa luồng, song song và phân tán.

2
yoAlex5 2020-09-05 06:04.

Đồng thời và Song song

Rob Pike trong 'Concurrency Is Not Parallelism'

Đồng thời là về việc xử lý nhiều thứ cùng một lúc.

Song song là làm nhiều việc cùng một lúc.

[Lý thuyết đồng tiền]

Đồng thời - xử lý thao tác chờ Song song - xử lý nội dung luồng

Tầm nhìn của tôi về đồng thời và song song

[Đồng bộ hóa so với Không đồng bộ]

1
mannnnerd 2014-02-17 16:42.

Tuyệt vời, hãy để tôi lên một kịch bản để thể hiện những gì tôi hiểu. giả sử có 3 đứa trẻ tên: A, B, C. A và B nói chuyện, C lắng nghe. Đối với A và B, chúng song song: A: I am A. B: I am B.

Nhưng đối với C, bộ não của anh ta phải thực hiện quá trình đồng thời để lắng nghe A và B, nó có thể là: I am IA is B.

Related questions

MORE COOL STUFF

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

8 công dụng tuyệt vời của Baking Soda và Giấm

8 công dụng tuyệt vời của Baking Soda và Giấm

Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.

Tận dụng lợi thế của việc bán hàng nhân Ngày của Cha này

Tận dụng lợi thế của việc bán hàng nhân Ngày của Cha này

Màn hình Samsung Galaxy S9 Plus. Chủ nhật này là Ngày của Cha⁠ — trong trường hợp nó khiến bạn suy nghĩ — và thay vì mua cho anh ấy một chiếc cà vạt trong năm nay, có lẽ đã đến lúc bạn mua cho anh ấy thứ mà anh ấy sẽ thực sự sử dụng.

Assassin's Creed Snuck Into Monster Hunter: World Last Night

Assassin's Creed Snuck Into Monster Hunter: World Last Night

Monster Hunter: World yêu thích các sự kiện chéo. Dù có nghĩa là hóa trang thành Dante của Devil May Cry, giả dạng Horizon: Zero Dawn's Aloy, hay chiến đấu với quái vật Final Fantasy, các nhiệm vụ sự kiện khác nhau của Thế giới được nâng cấp tự do so với các trò chơi khác.

Ava DuVernay Có Quà Tặng Ngày Của Mẹ cho Tất Cả Chúng Ta: Nếp Nhăn Thời Gian Sẽ Được Viết Lại Vào Cuối Tuần Ngày Của Mẹ!

Ava DuVernay Có Quà Tặng Ngày Của Mẹ cho Tất Cả Chúng Ta: Nếp Nhăn Thời Gian Sẽ Được Viết Lại Vào Cuối Tuần Ngày Của Mẹ!

Storm Reid, Oprah Winfrey, Mindy Kaling, Reese Witherspoon và Ava DuVernay tại buổi chiếu đặc biệt của A Wrinkle in Time tại Nhà hát Walter Reade ở Thành phố New York vào ngày 7 tháng 3 năm 2018 “Ava rất mong được nói chuyện với bạn,” một trong những người của Array dư luận viên nói qua điện thoại. (Array là tập thể phân phối, nghệ thuật và vận động chính sách của Ava DuVernay tập trung vào các bộ phim của người da màu và phụ nữ.

Nhiệm vụ bất khả thi 5 sẽ khôi phục niềm tin của bạn trong phim hành động Tentpole

Nhiệm vụ bất khả thi 5 sẽ khôi phục niềm tin của bạn trong phim hành động Tentpole

Mission Impossible: Rogue Nation bắt đầu ở một cấp độ khác. Theo nghĩa đen.

Edwin McCain ra mắt Grand Ole Opry: Quay cảnh hậu trường với nhạc sĩ 'I'll Be'

Edwin McCain ra mắt Grand Ole Opry: Quay cảnh hậu trường với nhạc sĩ 'I'll Be'

McCain, người đang làm việc cho một album mới, lần đầu tiên bước vào vòng kết nối vào tối thứ Sáu ở Nashville

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không

Tôi viết như thế nào

Tôi viết như thế nào

Đối với tôi, mọi thứ là về dòng đầu tiên đó và nó sẽ đưa bạn đến đâu. Một số nhà văn bị điều khiển bởi cốt truyện, sự sắp xếp tinh tế của các quân cờ, trong khi những người khác bị lôi cuốn bởi một nhân vật và khả năng thực hiện một cuộc hành trình với một người bạn hư cấu mới.

Đường băng hạ cánh

Đường băng hạ cánh

Cuối hè đầu thu là mùa hoài niệm. Những chiếc đèn đường chiếu ánh sáng của chúng qua những con đường đẫm mưa, và những chiếc lá dưới chân - màu đỏ cam tắt trong bóng chạng vạng - là lời nhắc nhở về những ngày đã qua.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.

Language