ThreadPool.QueueUserWorkItem 方法 (WaitCallback)

说明:将方法排入队列以便执行,WaitCallback,表示要执行的方法。如果将方法成功排入队列,则为 true;否则为 false

示例:addtest方法需要比较长的时间来响应,因此在button1_Click被点击以后,程序会失去响应,使用ThreadPool.QueueUserWorkItem 后,页面会继续响应其他时间,等addtest执行结束后,响应结果。

< Window  x:Class ="WpfAppThread.Window1"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
    Title
="Window1"  Height ="300"  Width ="300" >
    
< Grid >
        
< Button  Height ="23"  HorizontalAlignment ="Left"  Margin ="9,23,0,0"  Name ="button1"  VerticalAlignment ="Top"  Width ="75"  Click ="button1_Click" > ButtonOne </ Button >
        
< Button  Height ="23"  Margin ="102,23,101,0"  Name ="button2"  VerticalAlignment ="Top"  Click ="button2_Click" > ButtonTwo </ Button >
    
</ Grid >
</ Window >

 

 

         private   void  button1_Click( object  sender, RoutedEventArgs e)
        {
            ThreadPool.QueueUserWorkItem(
new  WaitCallback(addtest), " Testaa " ); 
            
// addtest();
        }

        
private   void  addtest( object  aa)
        {
            
long  result = 0 ;
            
for  ( int  i  =   0 ; i  <   1000000000 ; i ++ )
            {
                result 
+=  i;
            }
            MessageBox.Show(result.ToString()
+ aa.ToString());
            
        }

        
private   void  button2_Click( object  sender, RoutedEventArgs e)
        {
            MessageBox.Show(
" two " );
        }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值