懒惰的笨鸟

学习再学习,一切都是为学习。 交流再交流,交流好了再学习。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

添加了过滤功能,增加支持Rss1.0和Atom0.3。

改了几个错误:
    1、数字显示不能正确反映文章数量,现在基本可以。
    2、改正了当Channel下没有文章时,更新该Channel时,产生的一个NullReferenceException。
    3、节点拖放时,由于图标名称改变导致只有脱出操作,没有放入操作。  
现在最麻烦的就是线程了。
由于在这方面经验不多,后台更新Channel和更新评论文章的线程操作经常导致CPU占用100%,而不能退出,有经验的能不能帮忙看看。
代码如下:

        Thread _thread = null;

        
/// <summary>
        
/// 调用更新Channel线程。
        
/// </summary>
        
/// <param name="Feed">Channel对应的Feed</param>

        public void Invoke()
        
{
            
//线程不为空并且线程处于活动状态,退出线程
            if (_thread != null && _thread.IsAlive == true)
            
{
                _thread.Abort();
            }


            
//启动线程
            _thread = new Thread(new ThreadStart(Refresh));
            _thread.Name 
= _Channel.Title;
            _thread.Start();
        }

我感觉问题在于,虽然已经进行了Abort操作,可这不是一个立即完成操作。在网速好的情况下,没有问题。可网速不行时,Abort操作需要很长时间才能完成,这种情况下,其后的Start操作也不知道是怎么开始的。
有没有立即结束不需要保留线程状态的函数?
程序代码下载。(包含可执行程序,还有一些我已订阅的一些Blog站点。)
如果对BlogReader有什么好的建议也请大家提出,在我有能力完成的情况下,尽量将好的需要的功能集成进去。
软件制作的根本目的就是为了:创新的应用已有的一切。
补充一下:程序运行需要.Net2.0,本来也想往下兼容的,可是2.0的范型好用,一时手热就用了。界面工具条和主菜单也是VS2005新加的。其他的我想都和.Net1.0、1.1是通用的。
10月26号
Net1.1源程序不含执行文件  Net1.1执行文件
Net2.0源程序不含执行文件  Net2.0执行文件
posted on 2004-10-15 20:28  loli  阅读(1229)  评论(7编辑  收藏  举报