我有一個鏈表,並且我經常向它插入節點。超時事件設計與分離線程
對於每個節點,插入後節點內的元素需要在5秒內更新,如果5秒內沒有更新發生,則需要刪除該節點。
我目前的設計是火分離線程,程序是:
func{
sleep(5);
flag=check_updating(node);
if(flag == false)
delete(node);
}
這是設計好不好?
有更好的設計嗎? 謝謝!
我有一個鏈表,並且我經常向它插入節點。超時事件設計與分離線程
對於每個節點,插入後節點內的元素需要在5秒內更新,如果5秒內沒有更新發生,則需要刪除該節點。
我目前的設計是火分離線程,程序是:
func{
sleep(5);
flag=check_updating(node);
if(flag == false)
delete(node);
}
這是設計好不好?
有更好的設計嗎? 謝謝!
取決於列表的大小。如果非常快地插入節點,創建和銷燬線程將會很慢,甚至可能達到系統最大線程數。
如果沒有節點和/或列表的互斥保護,那麼設計就不行。 :) – pilcrow