Đánh giá, nhận xét, review các công ty tuyển dụng
Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: Phân biệt giữa mô hình xử lý dùng multithread và dùng nhiều process.

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    198

    Red face Phân biệt giữa mô hình xử lý dùng multithread và dùng nhiều process.

    Phân biệt giứa mô hình xử lý dùng multithread và dùng nhiều process.
    ai có thể cho mình biết là cái nào nhanh hơn,mutiprocess có thể liên lạc qua lại được như thread không,VD như mình tạo 2 tiến trình để kiểm tra số nguyên tố( 2 process) thì khi nào 1 trong 2 Process đã tìm được giá trị mà tại đó số đó không nguyên tố thì dừng cả 2 Process lại,liệu có thể làm được như vậy không

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn cứ coi như process là tập hợp gồm nhiều thread thì sẽ thấy mọi chuyện rõ ràng hơn thôi. Bản thân process lúc mới tạo chỉ có một thread, tuy nhiên thời gian tạo ra một process lâu hơn rất nhiều so với thời gian tạo ra một thread và quá trình trao đổi dữ liệu của các process cũng khá chậm. Nhìn chung là ko nên dùng nhiều process thay cho thread ( nếu chạy trên cùng một máy ) vì tốn nhiều ram và kém hiệu quả.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    11 2008
    Nơi ở
    vngameday.com
    Bài viết
    62

    process hay còn dịch khô khan ra là xử lý, thread dịch khô khan ra là tiến trình.

    - nhiều process tức là bạn có "nhiều tay" làm nhiều việc cùng 1 lúc cùng 1 thời điểm.

    Bình thường với process máy tính 1 nhân, thì trong 1 thời điểm chỉ thực thi một instruction duy nhất và nó xử lý theo kiểu hàng đợi (bạn tự tìm hiểu thêm)

    - Thread, tức luồng chương trình, bạn có thể tạo nhiều luồng, mỗi luồng làm 1 nhiệm vụ, thực ra nhiều luồng cũng giống như 1 luồng, tại 1 thời điểm chỉ có 1 chỉ dẫn đc xử lý, cho lên máy tính sẽ xử lý 1 luồng trong 1 khoảng thời gian nhất định, sau đó lock thread đang xử lý đó lại để xử lý thread khác, vì thời gian xử lý và chờ là vô cùng ngắn cho lên chúng ta có cảm giác nó chạy song song...

    mong rằng bạn hiểu, có gì sai sót mong các bạn ghóp ý nhé.

    thanks !
    vngameday.com - khi niềm đam mê luôn rực cháy. Rất mong nhận được sự đóng góp từ các bạn...

  4. #4
    Ngày gia nhập
    09 2008
    Nơi ở
    Da Nang
    Bài viết
    3

    Các bạn có cho 1 ví dụ cụ thể khi lập trình với process hoặc thread khong
    Sống trên đới cần có 1 núi tiền

  5. #5
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trích dẫn Nguyên bản được gửi bởi chet_la_het_tht Xem bài viết
    Các bạn có cho 1 ví dụ cụ thể khi lập trình với process hoặc thread khong
    Lập trình về process và thread rất rộng, bạn nói chung chung như vậy thì biết lấy ví dụ nào bây giờ.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  6. #6
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Mặc định Phân biệt giữa mô hình xử lý dùng multithread và dùng nhiều process.

    down load quyển Multithreaded Programming Guide này mà đọc,có cả code đầy đủ
    _http://www4.ncsu.edu/~rhee/clas/csc495j/MultithreadedProgrammingGuide_Solaris24.pdf

  7. #7
    Ngày gia nhập
    10 2007
    Bài viết
    169

    - Bạn cứ bật option hỗ trợ cho OpenMP trong project properties rồi dùng multi thread vô tư, ko cần lo đến tạo, hủy thread!
    - OpenMP sẻ tạo số thread tùy theo CPU của bạn (1 nhân, 2 nhân,...)!
    - Khi dùng chỉ cần đưa code vào:
    Code:
    #pragma omp sections parallel
    {
    #pragma omp section
    {
    // Thread 1
    }
    #pragma omp section
    {
    // Thread 2
    }
    #pragma omp section
    {
    // Thread 3
    }
    #pragma omp section
    {
    // Thread 4
    }
    }
    - Trong code này, khi chạy chương trình sẻ tự động tạo ra 4 thread, bạn khỏi cần lo quản lý thread!

    - Lập trình multi process mà làm cùng 1 việc thì hoàn toàn vô ích mà tốn thời gian hơn là dùng multi thread!
    Đã được chỉnh sửa lần cuối bởi RadicalLight : 24-01-2009 lúc 09:01 PM. Lý do: Update!

  8. #8
    Ngày gia nhập
    10 2012
    Bài viết
    16

    Mặc định Multi-process và multi-thread

    Trích dẫn Nguyên bản được gửi bởi Cpro Xem bài viết
    ai có thể cho mình biết là cái nào nhanh hơn,mutiprocess có thể liên lạc qua lại được như thread không,VD như mình tạo 2 tiến trình để kiểm tra số nguyên tố( 2 process) thì khi nào 1 trong 2 Process đã tìm được giá trị mà tại đó số đó không nguyên tố thì dừng cả 2 Process lại,liệu có thể làm được như vậy không
    Về tài nguyên CPU : multi-process tốn tài nguyên hơn multi-thread, do mỗi process sẽ được cấp không gian bộ nhớ riêng.

    Về tốc độ xử lý : quá trình chuyển đổi giữa các process sẽ tốn thời gian hơn rất nhiều so với quá trình chuyển đổi giữa các thread trong process (chuyển đổi process phải chuyển đổi không gian bộ nhớ, còn các thread dùng chung không gian bộ nhớ của process chứa nó, nên không phải tốn khoảng thời gian này).
    Cơ chế giao tiếp giữa các process cũng phức tạp hơn cơ chế giao tiếp giữa các thread (Cơ chế liên lạc giữa các process cung cấp bởi OS, gọi là IPC như socket, pipe..)

  9. #9
    Ngày gia nhập
    02 2013
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi Cpro Xem bài viết
    ai có thể cho mình biết là cái nào nhanh hơn,mutiprocess có thể liên lạc qua lại được như thread không,VD như mình tạo 2 tiến trình để kiểm tra số nguyên tố( 2 process) thì khi nào 1 trong 2 Process đã tìm được giá trị mà tại đó số đó không nguyên tố thì dừng cả 2 Process lại,liệu có thể làm được như vậy không
    Theo mình thì giữa process và thread về tốc độ xử lý thì cũng không khác nhau là nhiều vì cơ bản đều là dùng khe thời gian để điều phối các tiến trình xử lý. Mình thấy khác nhau trong cách tổ chức và truyền thông giữa chung thôi. Nếu tổ chức nhiều process thì phải dùng IPC như socket, pipe, mesage quese... để truyền thông làm nó trở nên phức tạp trong cách giao tiếp nhưng bù lại các chương trình được tổ chức một cách độc lập, dễ quản lý. Còn nếu dùng thread thì giao tiếp giữa các tiến trình không phải là vấn đề vì đc cấp phát trên một vùng nhớ nhưng ngược lại quản lý hơi phức tạp.

Các đề tài tương tự

  1. Lập trình C++0x dùng multithread để nhân 2 ma trận
    Gửi bởi nguyentranduy trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 25-11-2012, 10:09 PM
  2. Kỹ thuật C++ Cách trả dữ liệu về hàm main() khi dùng multithread?
    Gửi bởi reach_phan trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 23-11-2011, 09:30 PM
  3. dùng MultiThread không có tác dụng, app vẫn bị treo?
    Gửi bởi chitvivo trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 32
    Bài viết cuối: 05-09-2011, 10:54 AM
  4. Dùng MultiThread để dữ liệu ghi lên file?
    Gửi bởi tdat00 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 17
    Bài viết cuối: 04-07-2009, 01:38 PM
  5. Phân biệt giữa mô hình xử lý dùng multithread và dùng nhiều process.
    Gửi bởi Cpro trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 6
    Bài viết cuối: 24-01-2009, 09:00 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn