- Phát triển data.frame theo cách hiệu quả về bộ nhớ
- phát hiện rò rỉ bộ nhớ ruby/ruby on rails
- Không thể giải quyết việc nhập android.support.v7.app
- Ổ cắm miền UNIX và bộ nhớ chia sẻ (tệp được ánh xạ)
Tôi đang kiểm tra Bộ đếm thời gian FlutterMã và Hủy bỏ()
phương pháp. Khi tôi muốn xóa bộ đếm thời gian, tôi có thể sử dụng hai dòng này:
timer. hủy();
bộ đếm thời gian = null;
Hoặc tôi có thể làm thế này: timer = null;
Nhưng tại sao lại thực hiện cancel() và null cùng lúc? Tại sao không làm một trong hai cách?
Cụ thể, tôi muốn hỏi về vứt bỏ()
Nếu tôi biết tiện ích sẽ bị xóa bỏ, tôi nên thực hiện cả hai hay chỉ một?
Một kịch bản khác: Tôi thấy rằng tôi có thể sử dụng nếu (timer == null) ...
, nhưng nếu tôi chỉ hủy bộ hẹn giờ mà không đặt nó thành null, tôi có thể làm tương tự bằng cách sử dụngnếu (timer.isActive)
.
Một trường hợp khác: Tôi có thể thấy rằng nếu có timer.khởi động lại()
phương pháp, sau đó sử dụng Hủy bỏ()
Và việc tái sử dụng bộ đếm thời gian là hợp lý. Nhưng vì hiện tại không có bộ đếm thời gian nào nên tôi luôn phải tạo một bộ đếm thời gian mới.
1 Câu trả lời
sử dụng Hủy bỏ()
Bạn có thể dừng bộ đếm thời gian và ngăn chặn các cuộc gọi lại đã đăng ký khỏi bị gọi (hoặc không còn được gọi nữa) định kỳ
cuộc gọi hẹn giờ).
Đặt biến giữ tham chiếu bộ đếm thời gian thành vô giá trị
Có thể là một cờ để sử dụng trong logic của riêng bạn (ví dụ: nếu bộ đếm thời gian không được đặt (== không có
), thiết lập một cái mới
Hoặc nó có thể chỉ cần thoát khỏi Bộ đếm thời gian
Phiên bản này sẽ được xóa khỏi kho lưu trữ để có thể thu gom rác (giống như bất kỳ đối tượng nào khác).
hiện hữu vứt bỏ()
Chỉ trong Hủy bỏ()
Vậy là đủ rồi.
Một trường hợp khác: Tôi thấy rằng tôi có thể sử dụng if (timer == null) ..., nhưng nếu tôi chỉ hủy bộ đếm thời gian và không đặt nó thành null, tôi cũng có thể sử dụng if (timer.isActive).
Chưa tạo Bộ đếm thời gian
với lệnh gọi lại chưa hết hạn và chưa gọi lệnh gọi lại đã qua Bộ đếm thời gian
Có những khác biệt tinh tế.
Về timer - Trong Flutter, khi nào bạn nên sử dụng timer.cancel() thay vì timer = null? , 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/55153087/
Tôi đang sử dụng bộ đếm thời gian để chạy một sự kiện theo định kỳ ở những khoảng thời gian khá dài (2 phút). Mọi thứ đều hoạt động tốt. Tuy nhiên, tôi muốn sự kiện được kích hoạt ngay khi bộ đếm thời gian được tạo (thay vì phải đợi 2 phút). Lưu ý rằng tôi không thể thực hiện điều này chỉ bằng cách gọi một phương thức, vì nó mất một thời gian để chạy và
Tôi đang kiểm tra một số mã cũ khủng khiếp có chứa các sự kiện Timer và một số mã dài chứa các lệnh gọi DoEvents. Phiên bản đơn giản hơn như sau: Private Sub tmrProcess_Timer()
Tôi đang cố gắng tạo một ứng dụng Windows Forms và muốn triển khai bộ đếm thời gian. public void timerStart() { DateTime bây giờ = DateTime
Tôi đang tạo một lớp mới để làm cho lớp System.Timers.Timer phù hợp hơn với nhu cầu của tôi. Tôi tạo lớp mới của mình như thế này... sử dụng System.Timers; class BtElapsedEv
Gần đây tôi đã kiểm tra một số bộ hẹn giờ khả thi và System.Threading.Timer và System.Timers.Timer có vẻ cần thiết với tôi (vì chúng hỗ trợ nhóm luồng). Tôi đang tạo một trò chơi và tôi dự định sử dụng
Trước tiên tôi xin nói rằng đây không hẳn là vấn đề mà là vấn đề cần giải quyết. Bây giờ tôi đã có giải pháp và mọi thứ đều ổn với tôi. Nhưng tôi muốn biết tại sao lần đầu tiên lại gặp vấn đề. Đây là mã tôi có hiện tại và nó hoạt động đúng như tôi mong đợi:
Trong bài viết này: http://msdn.microsoft.com/en-us/magazine/cc164015.aspx tác giả nêu rằng System.Threading.Timer không an toàn với luồng. Kể từ đó
Bối cảnh: Tôi có một bộ đếm thời gian dùng để theo dõi thời gian đã trôi qua kể từ khi sự kiện serialPort DataReceived được kích hoạt. Tôi đang tạo giải pháp riêng cho việc này thay vì sử dụng sự kiện hết thời gian tích hợp vì tôi đang nhận được luồng dữ liệu liên tục
Tôi đang xem mã Flutter Timer và phương thức cancel(). Khi tôi muốn xóa một bộ đếm thời gian, tôi có thể sử dụng hai dòng sau: timer.cancel(); timer = null; hoặc tôi có thể làm như sau: timer
Tôi đang cố gắng sử dụng bộ đếm thời gian trong C# để chạy một phương thức ở khoảng thời gian năm giây. Tuy nhiên, mã này có vẻ không hoạt động. Tôi không gặp lỗi nào khi chạy nó, nhưng chương trình (tôi đang chạy trong bảng điều khiển) đóng ngay sau IP.timer1.Start(). Tim
Tôi đang cố gắng sử dụng bộ đếm thời gian trong C# để chạy một phương thức ở khoảng thời gian năm giây. Tuy nhiên, mã này có vẻ không hoạt động. Tôi không gặp lỗi nào khi chạy nó, nhưng chương trình (tôi đang chạy trong bảng điều khiển) đóng ngay sau IP.timer1.Start(). Tim
Tôi gặp lỗi: 'Timer' là tham chiếu không rõ ràng giữa 'System.Windows.Forms.Timer' và 'System.Threading'
Trong ứng dụng của mình, tôi phải gửi thông tin nhịp tim định kỳ đến một ứng dụng "anh chị em". Sử dụng System.Timers.Timer/Threading.Timer hoặc sử dụng một luồng với vòng lặp while và Thread.Sleep
Gần đây tôi phải đối mặt với thử thách viết Dịch vụ Windows. Tôi cần yêu cầu URL theo định kỳ và kiểm tra tính khả dụng của nó. Để thực hiện điều này, tôi quyết định khởi tạo bộ đếm thời gian trong OnStart. Phương thức dịch vụ và thực hiện tất cả công việc trong sự kiện timer_Tick.
Có vẻ như các phiên bản System.Timers.Timer duy trì trạng thái sự kiện thông qua một số cơ chế, nhưng các phiên bản System.Threading.Timer thì không. Chương trình mẫu với System.Threading.Time tuần hoàn
Tôi đã tạo một đối tượng goog.Timer (http://closure-library.googlecode.com/svn/docs/class_goog_Timer.html) với lệnh go mới
Khi bạn đang xử lý bộ đếm thời gian .net "thô", bạn có thể truyền vào một xử lý chờ để được gọi sau khi bộ đếm thời gian Win32 bị hủy và bạn có thể cho rằng lệnh gọi lại của bạn sẽ không được gọi. (và bộ đếm thời gian sẽ được coi là "chết" bởi GC) Cách sử dụng System.Timer
Tôi muốn gợi ý tự động hoàn thành deoplete bật lên nhanh hơn, điều này đòi hỏi phải thiết lập g:deoplete#auto_complete_delay. Trợ giúp cho biết điều này đòi hỏi hỗ trợ +timers. Làm thế nào tôi có thể kích hoạt bộ hẹn giờ này trong cấu hình? Cảm ơn!
Tôi đang tự hỏi liệu có cách hợp lý nào để xác định khả năng tải của đối tượng Timers.Timer không? Hay chính xác hơn là chức năng của luồng. Có ai biết có vấn đề gì khi khởi động một số lượng lớn (hàng trăm) luồng bằng lớp Timer không? EDIT: Để làm việc, chúng ta sẽ bắt đầu một số
Tôi đang tạo một WindowsService với một Timer được liên kết với một EventHandler có vòng lặp vô hạn; Tôi muốn có thể kích hoạt timer này một lần trong phương thức OnStart() của dịch vụ, sau đó
Tôi là một lập trình viên xuất sắc, rất giỏi!