|
亲!马上注册或者登录会查看更多内容!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
实现 void Schedule(int64 timestamp, function* to_run) = 0;多个模块会调用这个function*, 如何实现。
群里看到的题目,大概做法应该是:
一个min heap,key是timestamp,value是thread
一个hash table,key是thread id,value是对应thread在min heap中的entry,方便随时添加或kill
然后就是一个listener thread的了。。。到点就wake up根据min heap最小的time 跟 curtime 比看是否要执行该function。。。当然follow up可以提一下加锁之类的。。。
那么问题来了。。。。这种一个listener thread加一群working thread的程序该怎么写。。。有人能大概写个轮廓么。。。c++或java都行。。。实在不知道怎么下手。。。求大神帮忙- -
来源: [url=forum.php?mod=viewthread&tid=2057]一道gg多线程面试题求讨论[/url] |
|