Nguyên nhân tăng RAM này là do sleep vs vòng loop của bạn. Theo nguyên tắc thì nên hạn chế sleep với vòg loop sử dụng cùng nhau. Nếu sử dụng sleep trong vòng loop thì nên sleep nhỏ thui còn sleep lớn nó sẽ bị một số hiêu ứng phụ như lag chương trình, tăng RAM,... Mình nghĩ có một ý tưởng này bạn thử coi sao. Tức là cứ cho nó lặp, thay vì dùng sleep thì để làm trễ nó thì mình sẽ làm cho nó chạy bình thường ko bị trễ, khi nào biến act kia cộng tới 1000 (thời gian để act cộng đến 1000 sẽ thay thời gian trễ khi bạn sử dụng sleep nên nếu nhanh hay chậm qá thì bạn có thể tăng giảm số 1000 này cho phù hợp, và biến act thay vì int bạn có thể sử dụng kiểu nào lớn hơn như longint gì đó) thì ta sẽ cho nó thực hiện công việc cần làm. Cụ thể ví dụ sau:
PHP Code:
int act = 0; // Biến global.
void Thread()
{
while (true) {
act++;
if (act = 1000) {
label1.Text = DateTime.Now.ToString();
act = 0;
}
}
}
P.S: Mình code Delphi chứ C++ chẳg biết tí gì nên chỉ gọi là viết ý tưởng thui. 