Câu hỏi được gắn thẻ «multithreading»

Đa luồng là khả năng của máy tính hoặc chương trình thực hiện công việc đồng thời hoặc không đồng bộ bằng cách sử dụng nhiều luồng thực thi đồng thời (thường được gọi là luồng).



2
SpinWait vs Ngủ chờ. Cái nào để sử dụng?
Nó có hiệu quả không SpinWait.SpinUntil(() => myPredicate(), 10000) trong thời gian chờ 10000ms hoặc là Có hiệu quả hơn không khi sử dụng tính năng Thread.Sleepthăm dò cho cùng một điều kiện Ví dụ: một cái gì đó dọc theo các dòng của SleepWaithàm sau : public bool SleepWait(int …

3
Làm thế nào để tạo một tác vụ (TPL) chạy một chuỗi STA?
Sử dụng Chủ đề khá đơn giản Thread thread = new Thread(MethodWhichRequiresSTA); thread.SetApartmentState(ApartmentState.STA); Làm thế nào để hoàn thành điều tương tự bằng cách sử dụng Tác vụ trong ứng dụng WPF? Đây là một số mã: Task.Factory.StartNew ( () => {return "some Text";} ) .ContinueWith(r => AddControlsToGrid(r.Result)); Tôi nhận …


3
Chương trình đa luồng bị kẹt trong chế độ tối ưu hóa nhưng chạy bình thường trong -O0
Tôi đã viết một chương trình đa luồng đơn giản như sau: static bool finished = false; int func() { size_t i = 0; while (!finished) ++i; return i; } int main() { auto result=std::async(std::launch::async, func); std::this_thread::sleep_for(std::chrono::seconds(1)); finished=true; std::cout<<"result ="<<result.get(); std::cout<<"\nmain thread id="<<std::this_thread::get_id()<<std::endl; } Nó hoạt động bình thường trong …

4
Là chủ đề sao chép khi gọi ngã ba?
Nếu tôi có một chương trình đang chạy với các luồng và gọi fork()trên một hệ thống dựa trên unix, các luồng có được sao chép không? Tôi biết rằng bộ nhớ ảo cho quy trình hiện tại được sao chép 1: 1 sang quy trình mới được sinh ra. …



3
c ++ Chủ đề bên trong cho vòng lặp in giá trị sai
Tôi đang cố gắng hiểu Đa luồng trong c ++, nhưng tôi bị mắc kẹt trong vấn đề này: nếu tôi khởi chạy các luồng trong một vòng lặp for thì chúng in sai các giá trị. Đây là mã: #include <iostream> #include <list> #include <thread> void print_id(int id){ printf("Hello …


2
Chủ đề C ++ sử dụng đối tượng hàm, làm thế nào nhiều hàm hủy được gọi nhưng không phải là các hàm tạo?
Vui lòng tìm đoạn mã dưới đây: class tFunc{ int x; public: tFunc(){ cout<<"Constructed : "<<this<<endl; x = 1; } ~tFunc(){ cout<<"Destroyed : "<<this<<endl; } void operator()(){ x += 10; cout<<"Thread running at : "<<x<<endl; } int getX(){ return x; } }; int main() { tFunc t; thread t1(t); if(t1.joinable()) …


2
Java ThreadPoolExecutor: Cập nhật kích thước nhóm lõi một cách linh hoạt từ chối các tác vụ đến không liên tục
Tôi đang gặp phải một vấn đề trong đó nếu tôi cố gắng thay đổi kích thước nhóm ThreadPoolExecutorlõi của một số khác sau khi nhóm được tạo, sau đó không liên tục, một số tác vụ bị từ chối RejectedExecutionExceptionmặc dù tôi không bao giờ gửi nhiều hơn queueSize …

4
Là lời giải thích của trật tự thoải mái sai lầm trong cppreference?
Trong tài liệu của std::memory_ordertrên cppreference.com có một ví dụ về việc đặt hàng thoải mái: Đặt hàng thoải mái Các hoạt động nguyên tử được gắn thẻ memory_order_relaxedkhông phải là hoạt động đồng bộ hóa; họ không áp đặt một trật tự trong số các truy cập bộ nhớ …

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.