首页 新闻 搜索 专区 学院

C#多线程访问静态函数

0
悬赏园豆:30 [已解决问题] 解决于 2013-11-27 09:15

请问我有两个线程或者说多个线程去访问一个静态方法,线程如下:

 Thread threadOne = new Thread(new ThreadStart(StartThreadOne));
  Thread threadTwo = new Thread(new ThreadStart(StartThreadTwo));
  threadOne.Start();
  threadTwo.Start();

 private static void StartThreadTwo()  

{            

     Bitmap mapOne = GetBitmapByPicUrl("Url_One");        

}

  private static void StartThreadOne()

 {            

    Bitmap mapTwo = GetBitmapByPicUrl("Url_Two");

}

  

  然后静态方法如下:

/// <summary>
        /// 获取网页图片
        /// </summary>
        /// <param name="m_PicUrl"></param>
        /// <returns></returns>
        public static Bitmap GetBitmapByPicUrl(string m_PicUrl)
        {
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(m_PicUrl);
            req.Method = "GET";
            req.Referer = m_PicUrl;
            req.Connection = "true";
            req.ContentLength = 0;
            using (WebResponse web = req.GetResponse())
            {
                var resStream = web.GetResponseStream();
                Bitmap sourcebm = new Bitmap(resStream);//初始化Bitmap图片
                return sourcebm;
            }
        }

  

     请问这个多线程去访问会不会有问题,会不会出现死锁的情况,请大神详细解释一下,包括内存之间的关系。

 

 

 

蓝色狙击手的主页 蓝色狙击手 | 初学一级 | 园豆:9
提问于:2013-11-22 18:47
< >
分享
最佳答案
1

 

上图是我自己整理的C#内存分配,担心你看不明白,我又在网上帮你找到个资料:

http://social.msdn.microsoft.com/Forums/sharepoint/zh-CN/cf143c51-7e6f-4e4e-bdd0-6f148170bec5/c

你看看

 

收获园豆:30
袁家小黑球 | 小虾三级 |园豆:1045 | 2013-11-25 09:53
其他回答(3)
0

恩,咋了?

56180825 | 园豆:1555 (小虾三级) | 2013-11-22 20:52
0

ThreadStatic

喵喵喵猫 | 园豆:1742 (小虾三级) | 2013-11-23 10:00
0

加个锁。

angelshelter | 园豆:9678 (大侠五级) | 2013-11-23 20:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册