- Tìm số 0 đầu tiên trong một mảng bit
- Unix Hiển thị thông tin về các tập tin khớp với một trong hai mẫu
- Biểu thức chính quy thay thế nhiều tệp
- Ẩn lệnh từ xtrace
Trong một dự án Xamarin gần đây mà tôi đã làm việc, tôi có thể thấy rằng các nhà phát triển đã sử dụng Java.Lang.Thread cũng như Hệ thống.Threading.Thread(được sử dụng cho các hoạt động rất tương tự - như tải dữ liệu ở chế độ nền).
Tôi chỉ muốn biết rằng trong lớp Thread được thừa hưởng từ Dùng một lần Được sử dụng trong các dự án Xamarin Java.Lang.Thread Nguyên nhân đằng sau lỗi này là gì, hãy đảm bảo rằng lỗi này được xử lý chính xác (có nghĩa là đó là một mã bổ sung).
Cái nào hoạt động tốt hơn trong hệ sinh thái Xamarin?
Về cơ bản chúng có thể hoán đổi cho nhau được không?
1 Câu trả lời
Tôi chỉ muốn đề cập đến Hệ thống.Threading.Thread
Có nguồn gốc từ Đối tượng CriticalFinalizer
, đó là triển khai bảo mật tiêu chuẩn Mẫu dùng một lần từ Microsoft :
Đảm bảo rằng tất cả mã hoàn thiện trong các lớp dẫn xuất được đánh dấu là quan trọng.
Còn hơn là Java.Lang.Thread
Chỉ nhận ra Dùng một lần
Giao diện.
Một điểm khác biệt nữa giữa các lớp này là định nghĩa của chúng có đôi chút khác biệt. Chúng ta hãy xem tài liệu:
Lớp Java.Lang.Thread:
MỘT
Chủ đề
là một đơn vị thực thi đồng thời. Nó có ngăn xếp lệnh gọi riêng cho các phương thức được gọi, các đối số và biến cục bộ của chúng. Mỗi ứng dụng có ít nhất một luồng đang chạy khi nó được khởi động, luồng chính, trong chínhNhóm chủ đề
. Thời gian chạy giữ các luồng của riêng nó trong nhóm luồng hệ thống.
Bài viết được liên kết cho biết việc sử dụng nhóm luồng được coi là lỗi thời.
Lớp System.Threading.Thread
Một tiến trình có thể tạo một hoặc nhiều luồng để thực thi một phần mã chương trình liên quan đến tiến trình. Sử dụng
Chủ đềBắt đầu
đại biểu hoặcTham số hóaThreadStart
ủy nhiệm để chỉ định mã chương trình được thực thi bởi một luồng.Tham số hóaThreadStart
Đại biểu cho phép bạn truyền dữ liệu tới quy trình luồng.
Nó cũng bắt nguồn từ _Chủ đề
:
Hiển thị lớp Thread với mã không được quản lý.
Giao diện này được sử dụng đểMã không được quản lýTruy cập các lớp được quản lý và không nên được gọi từ mã được quản lý.
Vì vậy, theo tôi thấy, luồng java-one là một cấu trúc logic bên trong JVM, trái ngược với c#-one là một luồng tiêu thụ không được quản lý. Tôi khuyên bạn nên so sánh tài nguyên của từng triển khai với nhau và quyết định nên sử dụng lớp nào cho phù hợp.
Nếu phần lớn mã của bạn nằm ở phía .NET, tôi khuyên bạn nên sử dụng triển khai CLR. Trong những trường hợp khác, tôi nghĩ bạn nên sử dụng triển khai JVM.
Xamarin - Java.Lang.Thread so với System.Threading.Thread - nên dùng cái nào? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/37478467/
Cách tốt nhất để thực hiện nhiệm vụ này là gì: Luồng chính (luồng A) tạo ra hai luồng khác (luồng B và luồng C). Luồng B và C thực hiện I/O đĩa nặng và cuối cùng cần chuyển các tài nguyên mà chúng tạo ra cho luồng A, sau đó luồng A sẽ gọi tệp DLL bên ngoài
Tôi là một lập trình viên mới và quan tâm đến ngôn ngữ Julia. Tài liệu (https://docs.julialang.org/en/v1/base/multi-threading/) ghi là Threads.@thread
Sự khác biệt giữa thread.start_new_thread và threading.Thread.start trong Python là gì? Tôi nhận thấy rằng khi start_new_thread được gọi, luồng mới sẽ bị chấm dứt khi luồng gọi
Tôi đang học lập trình Android Bluetooth. Tôi đã sao chép hầu hết mã từ trang web Android Developers của Google cho mục đích học tập. Ý tưởng là việc lắng nghe các kết nối trên máy chủ được thực hiện trong một luồng mới mà không chặn luồng UI. Khi nhận được yêu cầu kết nối, kết nối
Luồng thực thi phương thức của đối tượng có phụ thuộc vào luồng mà nó được tạo ra không? Giả sử bạn có hai luồng Thread1 và Thread2 và hai lớp ClassA và ClassB trong ứng dụng Java của bạn. Bạn đang ở Chủ đề 1
Tôi đang thử nghiệm luồng C++11 bằng mã này, nhưng khi tạo luồng, tôi nhận được lỗi không có hàm phù hợp để gọi đến 'std::thread::thread()'. Giống như có gì đó không ổn với lệnh ctr mà tôi đưa cho hàm std::thread.
Tôi có lớp eventEngine và gateway sau: class eventEngine { public: eventEngine(); std::thread threa; std
Tôi cần chạy nhiều luồng của lớp Observer bằng số phần tử trong danh sách dirlist. Khi tôi chạy lệnh python console thì nó hoạt động tốt. lớp Observer(Thread): def ru
Tôi đọc được đoạn mã sau trong một cuốn sách Java. Tôi biết rằng lớp Main kế thừa lớp Thread theo mặc định, do đó currentThread(); thay vì Thread.currentThread(); cũng sẽ thực hiện được công việc này. Nhưng tôi không hiểu
Tôi đang sử dụng API của bên thứ 3 trong hệ thống của mình để khởi động một luồng người dùng chạy mãi mãi. Sau khi chương trình của tôi kết thúc, JVM tiếp tục chạy vì luồng này, vì vậy tôi thử lấy tham chiếu luồng này và thay đổi nó bằng thread.setDaemon(t
Mọi đối tượng trong Python mà tôi biết đều xử lý việc khởi tạo lớp cơ sở của nó bằng cách gọi: super(BaseClass, self).__init__() Điều này có vẻ không đúng với các lớp con của threading.Thread ,
Trong một dự án Xamarin mà tôi mới làm gần đây, tôi thấy rằng nhà phát triển đã sử dụng Java.Lang.Thread cũng như System.Threading.Thread (cho các hoạt động rất giống nhau - như tải dữ liệu ở chế độ nền).
Tôi đang chạy một vòng kép trong Julia. Mã này rất đơn giản. w = rand(1000,1000) hàm regular_demo(w::Array{Float64, 2}) n = kích thước
Tôi đang sử dụng Python 3 trên Windows. Tôi đang sử dụng threading.Thread để chạy một hàm một cách động và tôi có thể gọi nó có hoặc không có đối số. Tôi đang thiết lập một danh sách trong đó mục đầu tiên là một chuỗi xác định đường dẫn. Các thông số khác
Tôi đã tìm thấy một số ví dụ về việc quản lý luồng bằng cách sử dụng mô-đun luồng (sử dụng Python 2.6). Điều tôi muốn hiểu là phương thức "Run" được gọi như thế nào và ở đâu trong ví dụ này. Tôi không thấy nó ở đâu cả. Lớp ThreadUrl trong hàm main()
Giả sử tôi bắt nguồn từ threading.Thread: from threading import Thread class Worker(Thread): def start(self):
đóng cửa. Câu hỏi này cần thông tin gỡ lỗi. Hiện tại không chấp nhận câu trả lời. Chỉnh sửa câu hỏi để bao gồm hành vi mong muốn, một vấn đề hoặc lỗi cụ thể và
Sử dụng WinDbg và SOS, tôi có những thông tin sau: 0:011> !threads ThreadCount: 7 UnstartedThread: 0 BackgroundThread: 4 Pendin
App Engine đưa ra lỗi: com.google.apphosting.api.ApiProxy$CallNotFoundException: Không thể thực hiện lệnh gọi API urlfe
Tôi đang cố nhúng Swing JEditorPane vào một dự án JavaFX như được hiển thị trong đoạn mã sau. Platform.runLater(() -> { SyntaxTester ob = mới
Tôi là một lập trình viên xuất sắc, rất giỏi!