- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 C# 中的计时器以五秒的间隔运行一个方法。虽然这段代码似乎不起作用。运行它时我没有收到任何错误,但程序(我在控制台中运行)在 IP.timer1.Start()
之后立即关闭。 timer1_Elapsed 方法永远不会被执行。我知道这一点,因为我已经尝试让程序在 timer1_Elapsed 方法的第一行向控制台打印一个字符串。
class Program
{
Timer timer1 = new Timer();
void tĩnh Main(string[] args)
{
Program IP = new Program();
IP.timer1.Elapsed += new ElapsedEventHandler(timer1_Elapsed);
IP.timer1.Interval = 5000;
IP.timer1.Enabled = true;
IP.timer1.Start();
}
static void timer1_Elapsed(object sender, ElapsedEventArgs e)
{
//Function to get executed each time the counter elapses.
}
}
1 Câu trả lời
原因是定时器的Bắt đầu
方法在另一个线程上启动了定时器,并立即从该方法返回。这会导致您的 Main
方法结束,并且控制台关闭。
根据您使用的Bộ đếm thời gian
(BCL 中有一些类似命名的类),您可能希望以不同方式实现修复。我建议阅读有关 Hệ thống.Bộ đếm thời gian.Bộ đếm thời gian 的文档, System.Windows.Forms.Timerhoặc Hệ thống.Threading.Timer取决于您使用的是哪个。
关于C# timers.timer 不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11098373/
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!