System.Threading.Thread.Sleep(2000);啥意思,啥用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System.Threading.Thread.Sleep(2000);啥意思,啥用相关的知识,希望对你有一定的参考价值。

System.Threading.Thread.Sleep(2000)意思是将当前线程休眠2秒。

Thread.Sleep()方法用于将当前线程暂停一定时间,时间单位是毫秒,1000毫秒= 1秒。

通过调用Thread.Sleep,Thread.Suspend或者Thread.Join都可以暂停/阻塞线程。调用Sleep()和 Suspend()方法意味着线程将不再得到CPU时间。

这两种暂停线程的方法是有区别的,Sleep()使得线程立即停止执行,但是在调用 Suspend()方法之前,公共语言运行时必须到达一个安全点。

一个线程不能对另外一个线程调用Sleep()方法,但是可以调用Suspend()方 法使得另外一个线程暂停执行。

扩展资料:

NET 基础类库的System.Threading命名空间提供了大量的类和接口支持多线程。这个命名空间有很多的类。 System.Threading.Thread类是创建并控制线程,设置其优先级并获取其状态最为常用的类。

Thread.Start():启动线程的执行;

Thread.Suspend():挂起线程,或者如果线程已挂起,则不起作用;

Thread.Resume():继续已挂起的线程;

Thread.Interrupt():中止处于 Wait或者Sleep或者Join 线程状态的线程;

Thread.Join():阻塞调用线程,直到某个线程终止时为止;

Thread.Sleep():将当前线程阻塞指定的毫秒数;

Thread.Abort():以开始终止此线程的过程。如果线程已经在终止,则不能通过;

Thread.Start():来启动线程。

参考资料来源:百度百科——多线程

参考技术A sleep函数用于将线程休眠,单位是毫秒。一般来说用于对线程的操作,还有suspend、close等函数都是关于线程的操作,你可以根据自己的需要对线程进行操作。 参考技术B 让程序暂停2秒.2秒后继续运行 参考技术C Thread.Sleep()方法用于将当前线程休眠一定时间 时间单位是毫秒 1000毫秒= 1秒 休眠的时间可以用于让其他线程完成当前工作,亦可以减少CPU占用时间。避免程序出现长时间CPU占用100%的情况。

如果需要对其他线程操作可以先实例化该线程。然后使用sleep方法。
System.Threading.Thread.Sleep(2000);当前休眠2秒

suspen()挂起当前线程。也可以指定挂起时间。
close() 关闭当前线程。本回答被提问者采纳
参考技术D 线程暂停2秒

请教excel汇总问题。vba

请教下 我有一个表 A列 日期 B列 供应商 C列 产品 列数量 B列和C列是多对多关系 我想新建一个表统计 A 列供应商 B列产品 C列统计各日期的产品总和。第一图为实际图。第2图为要达到的效果图。求VBA的编写方式 谢谢。
我的2859782009

参考技术A sub 合并()
dim d,arr,r&
Set d= CreateObject("Scripting.Dictionary")
arr=sheets(1).usedrange.value
for r=2 to ubound(arr)
   d(arr(r,2)&"+"&arr(r,3))= d(arr(r,2)&"+"&arr(r,3))+arr(r,4)
next 
with sheets(2)
     .[a2].resize(d.count,1)=application.transpose(d.keys)
     .Range("a2:a"&d.count+1).TextToColumns Destination:=Range("a2"), Other:=True, OtherChar:="+"  
     .[c2].resize(d.count,1)=application.transpose(d.items)
end with
set d=nothing
end sub

怎么感觉和其他题有点像

没有excel,没调试

==================

修改下,试试看吧

追问

麻烦在帮忙看看。谢谢

追答

excel卸掉了还没装好。。下载速度太慢了
首先你要确定你第一张图的sheet名 。。还有第二张图的sheet名
sheets(1)=改成 sheets(" ") 双引号内填上你源数据的表名 。注意,双引号也是要的
sheets(2) 同上

如果还不知道怎么做,可以新建两个表, 一张表叫源数据,把你第一图上的所有数据复制去,第于个表叫汇总。a1:c1填上字段名就可以了
然后,sheets(1) 改成 sheets("源数据")
sheets(2) 改成 sheets("汇总")

追问

sheets(1) 名字就是sheets(1)
sheets(2)表新建一个表生成数据 名字

追答

你确定?
算了,也有人回复了,我相信你现在应该也成功了,
好吧,祝 好运。。

参考技术B 这个用一个字典,以B-C列为关键字,item表示各个key的和,然后split拆分即可得到你想要的表格!!追问

能不能说傻瓜一点呵呵。我不知道具体该怎么做。帮帮忙

追答

以下是代码,请测试!

Sub FLHZ()
    Dim dc As Object, arr
    Set dc = CreateObject("Scripting.Dictionary")
    arr = Range("B2:D" & [b65536].End(3).Row)
    Dim i As Long
    For i = 1 To UBound(arr)
        dc(arr(i, 1) & "-" & arr(i, 2)) = Val(dc(arr(i, 1) & "-" & arr(i, 2))) + arr(i, 3)
    Next
    
    Dim ar
    ar = dc.keys
    With Sheet2
       .[a1] = "供应商"
       .[b1] = "药品"
       .[c1] = "数量汇总"
        For i = 0 To UBound(ar)
            .Cells(i + 2, "A") = Split(ar(i), "-")(0)
            .Cells(i + 2, "B") = Split(ar(i), "-")(1)
            .Cells(i + 2, "C") = dc(ar(i))
        Next
       .Range("A2:C" & .[c65536].End(3).Row).Sort key1:=.[a2], key2:=.[b2]
    End With
    
    MsgBox "汇总完毕!"
    Sheet2.Activate
    Sheet2.[a1].Select
End Sub


本回答被提问者采纳
参考技术C 这个不用VBA,用数据透视表都可以达到你的要求哦。追问

数据透视表  alt+d+p 多重合并计算区域 出来的效果。

不知道是操作没对还是啥情况

追答

直接QQ说话?

追问

2859782009 。谢谢

参考技术D 一定要用VBA吗?用数据透视表简单几步就可实现你的要求。追问

帮忙讲讲 谢谢。我可能操作不对。

追答

选择B、C、D列,点菜单-数据-数据透视表,建立透视表,在当前表点一个位置,下一步,布局,将供应商拖入列、药品拖入行,数量拖入数据,确定即可。

以上是关于System.Threading.Thread.Sleep(2000);啥意思,啥用的主要内容,如果未能解决你的问题,请参考以下文章