2013-05-17 42 views
0

我有一個鏈表,並且我經常向它插入節點。超時事件設計與分離線程

對於每個節點,插入後節點內的元素需要在5秒內更新,如果5秒內沒有更新發生,則需要刪除該節點。

我目前的設計是火分離線程,程序是:

func{ 
    sleep(5); 
    flag=check_updating(node); 
    if(flag == false) 
     delete(node);  
} 

這是設計好不好?

有更好的設計嗎? 謝謝!

+0

如果沒有節點和/或列表的互斥保護,那麼設計就不行。 :) – pilcrow

回答

1

使用線程是處理定時器的一種相當沉重的方式,但如果你不太關心性能,我想它會工作得很好。

我想說的是使用類似libeventlibev的東西,並在這些系統中排隊你的定時器。他們將能夠處理您的時間需求而不會冒出汗來。

0

取決於列表的大小。如果非常快地插入節點,創建和銷燬線程將會很慢,甚至可能達到系統最大線程數。