Làm thế nào bạn sẽ giải thích đa luồng cho một đứa trẻ bảy tuổi?


21

Nếu bạn phải giải thích khái niệm đa luồng cho một đứa trẻ bảy tuổi, bạn sẽ làm thế nào? Gần đây tôi đã nhận được câu hỏi này trong một cuộc phỏng vấn. Tôi đã nghĩ ra một câu chuyện bằng cách sử dụng các công việc (nhiệm vụ phải hoàn thành) và công nhân (các chủ đề) nhưng nó không hoàn toàn thuyết phục (coi đứa trẻ còn quá trẻ).

Nếu bạn được yêu cầu mô tả điều này, bạn sẽ làm thế nào?


55
Tôi sẽ hỏi người phỏng vấn rằng anh ấy / cô ấy có kế hoạch thuê bất kỳ đứa trẻ 7 tuổi nào không.
Craige

14
Tôi sẽ đấm vào mặt người phỏng vấn.
Morons

11
Có lẽ để kiểm tra rằng bạn biết rõ về chủ đề này để dạy nó cho một người hoàn toàn không có kiến ​​thức về chủ đề này.
Thất vọngWithFormsDesigner

6
@Morons Trước hết, đó là một chút bạo lực. Thứ hai, từ của bạn có được viết hoa vì ý nghĩa đặc biệt nào không?
Nicole

11
@FrustratedWithFormsDesigner Chà, thật là ngu ngốc. Bạn có thể giải thích các số phức cho ai đó không biết đếm không? Không? Bạn đang rác ở số phức.
biziclop

Câu trả lời:


35

Mô tả nó là gì, chỉ cần bỏ qua các thuật ngữ kỹ thuật ngoại trừ các định nghĩa:

  1. Bạn có năm công việc phải làm. Bạn cần bắt đầu làm việc với tất cả chúng ngay bây giờ.
  2. Mỗi công việc là một chủ đề.
  3. Bạn là người xử lý.
  4. Dành một chút thời gian làm việc cho mỗi công việc và sau đó chuyển sang công việc tiếp theo, đảm bảo bạn chú ý đến tất cả chúng.
  5. Nếu bạn có nhiều người hơn, một công việc chỉ có thể được thực hiện bởi một người tại một thời điểm.
  6. Vì mỗi người có thể làm một công việc khác nhau, nhiều người có thể hoàn thành mọi công việc nhanh hơn, nếu bạn có nhiều hơn một công việc.

15
Tôi nghĩ rằng điều duy nhất tôi thêm vào có thể là thay đổi "công việc" thành "trò chơi" hoặc chơi với đồ chơi hoặc làm việc vặt hoặc bài tập về nhà.
bethlakshmi

Sau đó, nếu bạn có 'bộ xử lý' 'ghi chú' khi họ đang làm việc, bạn có thể giải thích sự liên kết bộ đệm và bộ đệm trong một bộ xử lý env
Steven Evers

Mô tả tốt, nhưng biết 7 tuổi, điều này sẽ không bay.
bụi đỏ ngày

@el fuser Tôi một 7 tuổi! hoặc atlest i ac lke 1 hahahahahaha
Mateen Ulhaq

@bethlakshmi, bạn cho rằng lúc 7 tuổi hầu hết trẻ em vẫn chơi game và chưa đi ra ngoài và có việc làm hiệu quả chưa? nào!
Loại ẩn danh

22

Này nhóc. Bạn đã bao giờ đi bộ và nhai kẹo cao su cùng một lúc trong khi nghĩ về Pokemon chưa? Đó là bộ não của bạn đa luồng.


1
Đó là thiết bị ngoại vi của não bạn có thể hoạt động tương đối độc lập. Nó (gần như) giống như bộ não của bạn sử dụng DMA.
Nick T

@nick T, giống như điện toán đám mây hơn khi không có quyền truy cập mã nguồn vào các thành phần. Ngay cả người nhai kẹo cao su cũng không biết họ thực sự thực hiện hành động như thế nào.
Loại ẩn danh

@Ano, tuyên bố cuối cùng của bạn dường như củng cố sự tương tự ngoại vi của tôi. Thiết bị ngoại vi thực hiện công việc mà không cần CPU đào sâu vào các chi tiết vụn vặt, chỉ đơn giản là ủy thác nó. Tôi đoán bạn cũng có thể nói nó giống như điện toán đám mây, nhưng đó là ở quy mô lớn hơn nhiều; DMA và các thiết bị ngoại vi ở mức khá thấp.
Nick T

có thật không? Tôi đã nghĩ rằng chơi pokemon (giải quyết vấn đề theo thứ tự cao hơn) chắc chắn sẽ yêu cầu bộ nhớ chế độ người dùng và sử dụng ngôn ngữ lập trình cấp cao hơn, nhưng có lẽ thứ gì đó như masticulation có thể là DMA.
Loại ẩn danh

10

Liên hệ nó với một cái gì đó họ có thể dễ dàng hiểu được. Ô tô trên đường.

Hãy nghĩ về một con đường duy nhất. Với 12 chiếc xe trên đó, họ lái từng chiếc một. Và chỉ có một chiếc xe có thể hoàn thành cùng một lúc, và một chiếc xe nhanh hơn, không thể vượt qua những chiếc chậm hơn.

Nhưng, với đa luồng, nó giống như tất cả những chiếc xe đó đang lái trên một con đường rộng với bốn làn. Những chiếc xe nhanh hơn có thể đi qua những cái chậm hơn.

Chỉnh sửa: và, nếu không cẩn thận, họ có thể đâm sầm vào nhau ...


4
Nếu đa luồng là một con đường, thì đó là một nơi khi một chiếc xe đang lái, chiếc kia không di chuyển chút nào - không theo sau nó ...
Nicole

@Renesis, điểm tốt, tôi cho rằng tôi có thể thay đổi ví dụ thành một cây cầu hẹp mà chỉ có một chiếc xe có thể đi qua một lúc bởi vì hai chiếc xe sẽ nặng hai ...
CaffGeek

10

Tôi sẽ giải thích nó như giặt đồ.

Bạn có 3 tải đồ giặt, một máy giặt và một máy sấy.

Cách mọi người giặt đồ là chuyển tải đầu tiên vào máy sấy hơn là đặt tải tiếp theo để giặt.

Bất kỳ đứa trẻ nào cũng sẽ hiểu rằng việc chờ tải đầu tiên khô trước khi bắt đầu giặt tải thứ hai sẽ mất nhiều thời gian hơn.

Bạn thậm chí có thể tiến thêm một bước bằng cách giải thích nếu bạn có nhiều máy giặt và máy sấy hơn (như tại tiệm giặt ủi), bạn có thể tải nhanh hơn.


2
Ngoài ra, bạn không thể sấy đồ giặt cho đến khi tải đã đi qua máy giặt, vì vậy bạn cũng có thể mô tả việc chặn
zzzzBov

Tôi gần như đã cho bạn +1 nhưng sau đó tôi nhận ra rằng không có đứa trẻ nào trong suy nghĩ đúng đắn của họ sẽ làm theo lời giải thích này. Đối với người mới bắt đầu, bạn đã sử dụng một cái gì đó cực kỳ nhàm chán (từ quan điểm trẻ em không phải của tôi) đó là một việc vặt. Ngay khi bạn nói từ giặt, tâm trí họ tắt, họ thực sự sẽ chỉ nghe thấy 7 từ đầu tiên.
Loại ẩn danh

6

Nấu một bữa ăn với một vài món ăn trên bếp nhỏ. Bạn có hai ổ ghi (tức là bộ xử lý hoặc lõi) và bốn món ăn (chủ đề) để nấu. Vì vậy, chỉ có tối đa hai món ăn có thể được nấu (chạy) tại một thời điểm. Các món ăn khác nhau có thời gian nấu ăn khác nhau. Đầu bếp (HĐH) phải sắp xếp tất cả những thứ này để mọi thứ được nấu đúng giờ cho bữa tối.


3

Một nghệ sĩ xiếc tung hứng bắt đầu với hai quả bóng và dần dần thêm ngày càng nhiều quả bóng vào hành động của mình.


Đây là câu trả lời tốt nhất vì nó trả lời câu hỏi từ góc nhìn của một đứa trẻ 7 tuổi, không phải là một lập trình viên 30 tuổi.
Loại ẩn danh

2

Theo kinh nghiệm của tôi, 7 tuổi không có vấn đề gì với khái niệm về những thứ khác nhau diễn ra cùng một lúc, điều này được chứng kiến ​​bởi các bộ công cụ lập trình khác nhau được thiết kế cho trẻ em. Đáng chú ý là bộ dụng cụ Lego, mà còn là hệ thống Scratch.

Có lẽ người phỏng vấn chỉ đơn giản là cố gắng tìm một góc độ mới để hỏi bạn điều gì đó bất ngờ.


2

"Tôi cần bạn mang hai ly từ bếp đến bàn . (Họ chạy, mang một ly trong mỗi tay.) Bây giờ, xin vui lòng làm lại, nhưng chỉ sử dụng một tay."


2

Một số trong những câu trả lời này gây choáng váng ... Tôi nghĩ rằng tôi có thể là người duy nhất ở đây biết 7 tuổi ???

Vì vậy, Johnny ... Đa luồng tương tự như những gì xảy ra khi dọn dẹp thời gian ở trường. Tất cả các bạn trong lớp cần dọn dẹp sau khi kết thúc ngày ... Mỗi đứa trẻ về cơ bản là một sợi chỉ ... nhặt đồ chơi là nhiệm vụ và hộp đồ chơi là một tài nguyên chung.

Nhìn chung, tôi nghĩ rằng đấm vào mặt người phỏng vấn là một câu trả lời tốt hơn.


Bất cứ ai đánh dấu -1 này đều tự đùa. nghiêm túc phát triển một cảm giác hài hước. Đó là một câu hỏi lố bịch nên được xử lý trong ánh sáng đó.
Loại ẩn danh

Đây có lẽ là một trong những câu trả lời tốt nhất cho đến nay. Nó lấy khái niệm và đặt nó theo thuật ngữ người nghe hiểu - ngay cả khi người nghe không biết làm thế nào để viết mã cho một ứng dụng đa luồng, giờ họ sẽ hiểu ý tưởng cơ bản.
Thất vọngWithFormsDesigner

2

Đa luồng, nó giống như có nhiều việc phải làm cùng một lúc và thực hiện từng chút một.

Này chàng trai trẻ tò mò, mỗi ngày bạn phải ăn, chơi & ngủ; đúng? Nhưng tại sao bạn không ăn một lần ... mất nhiều cho đến khi bạn không thể ăn nhiều hơn, sau đó ngủ mọi lúc bạn cần, sau đó chỉ chơi và chơi các trò chơi thú vị?

Chà, bạn không thể làm điều đó, bởi vì nếu bạn không ăn, bạn sẽ thấy đói, bất kể bạn có bao nhiêu trong bữa ăn trước. Nếu bạn không ngủ, bạn sẽ mệt và không thể chơi với bạn bè. Hiểu? Có một số việc cần phải làm, nhưng chúng ta không thể thực hiện chúng ngay lập tức. Chúng tôi ăn sáng, chơi trò chơi, ăn trưa, chơi trò chơi một lần nữa, ... và cuối cùng nói "chúc ngủ ngon".

Đó cũng là cách máy tính hoạt động: họ chơi nhạc một chút, sau đó chuyển sang hình ảnh bạn đang vẽ, sau đó chuyển lại để phát nhạc. Nhưng thời gian để làm tất cả những điều đó hàng ngàn lần chỉ là một cái nháy mắt, vì vậy bạn không thể nhìn thấy nó.


1

Bạn có một bộ 6 nhiệm vụ bạn phải làm:

  • làm bài tập về nhà đi
  • dọn phòng đi
  • đi mua sắm
  • hái táo trong vườn
  • rửa bát đĩa
  • quét dọn hiên nhà

Mỗi nhiệm vụ mất 1 giờ để làm. Bạn có 2 anh em.

  • Nếu bạn không sử dụng đa nhiệm, điều đó có nghĩa là bạn phải tự mình làm tất cả công việc. Bạn sẽ mất 6 giờ (nếu bạn bắt đầu lúc 12:00, tất cả các nhiệm vụ sẽ được hoàn thành lúc 18:00).
  • Nếu bạn sử dụng đa nhiệm, điều đó có nghĩa là bạn có thể giao một số nhiệm vụ cho anh em của mình. Nếu tất cả bạn bắt đầu làm việc cùng một lúc, bạn sẽ hoàn thành tất cả các nhiệm vụ sớm hơn. Trong trường hợp này, cả 3 bạn sẽ thực hiện 2 nhiệm vụ, mỗi nhiệm vụ sẽ mất 2 giờ (nếu tất cả bạn bắt đầu lúc 12:00, tất cả các nhiệm vụ sẽ được hoàn thành lúc 14:00!).

0

Bạn đã có một phím điều khiển / trò chơi điều khiển.

Có 4 đứa trẻ. Mỗi đứa trẻ lần lượt chơi từng cấp độ trong khi những đứa trẻ khác nghỉ ngơi. Sử dụng tinh thần đồng đội, cuối cùng họ đạt cấp độ 255 *.

Trong khi mỗi đứa trẻ đang chơi, nó cũng ăn từ túi khoai tây chiên mà chỉ người chơi hiện tại mới được phép ăn.

* Sau đó, trò chơi gặp sự cố. ;)


"Tại sao bạn không mua thêm 3 bộ điều khiển?"

Vâng, đó là nhiều bộ xử lý!


0

Lớp nghệ thuật (Ứng dụng đa luồng)

Vì không thể có lớp mà không có giáo viên, bạn cần một giáo viên (chủ đề chính). Khi bạn đến lớp, bạn ngồi xuống và giáo viên tài khoản cho mọi người và phân công lớp vẽ tranh cho cả ngày.

Giáo viên chỉ định tất cả các học sinh trong ngày để bắt đầu vẽ (khởi tạo và phân công chủ đề).

Bởi vì trường chỉ có rất nhiều sơn, mọi người sẽ phải chia sẻ màu sắc với nhau (sơn đại diện cho trí nhớ).

Hãy nói rằng bạn đang vẽ một con rồng và bạn muốn cho nó một đôi mắt đỏ điên cuồng nhưng ai đó đang sử dụng sơn đỏ. Bạn không thể đi qua và tự mình sơn vì sau đó không ai có thể sử dụng nó. Thay vào đó, những gì bạn làm là bạn lịch sự yêu cầu chia sẻ (khóa tài nguyên) sơn. Bạn sử dụng một chút, sau đó vượt qua nó. Bạn có thể phải chờ một chút để lấy lại nhưng nó cho phép mọi người cần nó lấy một số mà không cần một cuộc chiến tranh (điều kiện cuộc đua).

Cuối lớp, giáo viên bỏ lớp (tham gia chủ đề).


Chơi game (Ứng dụng nhiều quy trình)

Chơi một trò chơi bài với bạn bè (hoặc trò chơi tương đương với đồ sưu tầm):

Hãy nói rằng bạn gặp gỡ bạn bè (quy trình) sau giờ học. Không có giáo viên xung quanh để không có ai ở đó để cho bạn biết phải làm gì.

Mọi người được cùng nhau chơi trò chơi (ứng dụng nhiều quy trình hoặc nhiều lớp).

Bạn suy nghĩ kỹ về cách bạn có thể sử dụng thẻ của mình để đánh bại đối thủ (xử lý nội bộ) và bạn cố gắng chia sẻ ý tưởng với đối tác của mình khi bạn đưa ra ý tưởng (thông điệp truyền qua).

Nếu bạn thực sự giỏi, bạn có thể tham gia một câu lạc bộ:

Lãnh đạo (chương trình điều hành) Thành viên (chương trình con)

Nếu câu lạc bộ trở nên thực sự tốt, họ có thể đưa ra một cách đặc biệt (API) để liên lạc với nhau để giúp chiến lược tốt hơn.


Tôi đã chọn không đề cập đến nhiều bộ xử lý / lõi ở đây vì tính trừu tượng trở nên khá phức tạp (và chuyển đổi ngữ cảnh vẫn còn trong suốt đối với hầu hết các ứng dụng). Tôi có lẽ có thể bắt đầu bằng cách nói rằng mỗi đội trong trò chơi đại diện cho một bộ xử lý / lõi riêng biệt và hầu hết các trò chơi vẫn còn hút bởi vì họ chỉ cho phép một vài đội chơi cùng nhau trong một trò chơi. Tương lai có thể trông giống một game MMORPG hơn, nơi nhiều người có thể chơi cùng nhau trong một trò chơi ở nhiều đội khác nhau.

Cố gắng phát triển một phép ẩn dụ cho trẻ em về một hệ thống xử lý phân phối trên nhiều máy tính lõi hoặc nhiều mạng máy chủ sẽ khá thú vị để chơi nhưng đó không phải là điều Op yêu cầu.


Chú thích:

Thông điệp truyền qua ở trên là một tham chiếu đến nhiều hình thức giao tiếp mà các chương trình sử dụng để nói chuyện với nhau. Giống như mọi người, các ứng dụng có nhiều cách để nói chuyện với nhau. Viết giống như Piping dữ liệu nối tiếp, nói chuyện giống như kết nối mạng, thì thầm giống như kết nối qua kết nối được mã hóa, cơ sở dữ liệu giống như một thẻ điểm (cấu trúc hữu hạn với dữ liệu được xác định rõ) và sử dụng MSMQ giống như gõ mã morse bằng cách đập đầu bạn vào bề mặt rắn.

Hầu hết các hình thức giao tiếp khác ngoài việc làm mờ quá nhiều để tôi coi chúng không thể phân biệt được.

Qua một bên:

Nếu bạn đã từng chơi một trò chơi trực tuyến như Halo, những người tham gia nhóm (hoặc trở thành người chơi chuyên nghiệp) thường có một ngôn ngữ rút gọn để gọi ra để hướng dẫn nhau nơi người chơi của đội khác và những gì họ đang sử dụng. Thật đáng ghét nếu bạn không biết cuộc gọi nhưng nó hiệu quả một cách đáng ngạc nhiên trong khi chơi trò chơi.

Thật thú vị làm sao, mặc dù hầu hết mọi người sống trong một nền văn hóa nhất định đều nói một ngôn ngữ chung nhưng trong nền văn hóa đó, mọi người phát triển các ngôn ngữ miền ngắn gọn ngắn gọn được tối ưu hóa để xử lý các tác vụ cụ thể. Trong điện toán, tôi sẽ so sánh nó với một API.


-1

Sử dụng một mô hình được áp dụng rộng rãi: các triết gia ăn uống.

5 triết gia ăn bữa tối mì ống của họ.

5 Dĩa có sẵn xung quanh bàn.

Mỗi triết gia cần hai dĩa để ăn.

Một số ăn. Một số triết lý trong khi chờ đợi.


2
Philosphers ăn với hai dĩa? Man, họ thậm chí còn xa lạ hơn tôi nghĩ! : P Câu chuyện này có ý nghĩa hơn với đũa thay vì dĩa ...
Thất vọngWithFormsDesigner

4
@Frustrated, đó là lý do tại sao họ cần phải suy nghĩ rất nhiều.

Tôi không nghĩ việc thay thế đũa bằng dĩa hoạt động tốt. :)
Tyanna

4
Tôi thích đũa tương tự tốt hơn. Bạn chắc chắn cần hai chiếc đũa để ăn. Bạn không thực sự cần hai dĩa. Điều dĩa thực sự gây nhầm lẫn vấn đề. Đặc biệt vì forking là một thuật ngữ quan trọng trong đa xử lý.
Paul Sasik

.. và sau đó bị mắc kẹt của bạn giải thích một triết gia là gì. Và vì lý do họ sẽ hỏi tại sao họ cần hai dĩa (đó là sự ngu ngốc từ quan điểm của 7yo) và tại sao mọi người sẽ đợi trước khi ăn!
Loại ẩn danh

-1

Giả sử bạn (đứa trẻ) nảy một quả bóng trên đầu. Sau mỗi lần thoát, bạn đang đếm nó, tức là số lần thoát. Ngoài ra, sau mỗi lần nảy, bạn nói các chữ cái trong bảng chữ cái (A, B, C, ...)

Kid, bạn đang đa luồng.


-1

Đĩa quay là một ví dụ tốt. Hãy nghĩ về những người ảo thuật, những người lấy một số đĩa và khiến họ quay cùng một lúc. Nhà ảo thuật liên tục chuyển đổi giữa các tấm để đảm bảo tất cả chúng đều quay tròn.


-2

Một máy tính thực sự chỉ có thể làm việc trên một thứ tại một thời điểm, nhưng nó có thể làm mọi thứ rất nhanh. (Tôi đang bỏ qua việc xử lý đa lõi vì đơn giản.) Nhưng nếu bạn muốn nghe nhạc và chơi một trò chơi cùng một lúc thì sao? Máy tính (rất nhanh) chuyển đổi giữa xử lý nhạc và xử lý trò chơi.


"Nhưng tại sao nó không làm cả hai cùng một lúc?"
Mateen Ulhaq

-2

Sân chơi địa phương của chúng tôi có một slide ba và một slide duy nhất. Threading giống như slide ba, 3 đứa trẻ có thể trượt xuống cùng một lúc. Nhưng trên một slide, hai đứa trẻ phải đợi ở đầu để đứa trẻ đầu tiên đi xuống cầu trượt.

Là một phần của báo cáo mô tả công việc cho CFO?


-3

Hai đứa trẻ trong một sân chơi chia sẻ (chiến đấu) các nguồn lực hạn chế, nói rằng các mảnh lego cần thiết từ một hộp nhỏ để tạo ra robot yêu thích của chúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.