重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
同学。。你这里的写法其实根本没有用到多线程
大足ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
原因很简单
你是定义了一个T的新线程,但是很可惜你在BeginDoSub这个独立的线程中又定义了一个deSomeSub的委托,并且直接用Me.Invoke把实际的执行任务提交给界面主线程运行了
所以你的图片的处理函数实际上是在主线程中运行的,新线程等于没用
正确的作法是,T定义为SomeSub这个函数为入口的线程,并启动它
在界面进度条更改的时候再使用Invoke来调用委托来进行界面更改。
自己再好好看看吧,时间问题我要走了。
i的值为空值,即为0。你可以在窗体里输入代码然后分步跑一下,就会明白了。
我个认认为LZ的解释有误!
比如外循环是10次,内循环是20次
那么就会循环10个20.也就是
20^10
相反,外循环是20,内循环是10
那么就是
20个10,也就是
10^20
因为
10^102^10
10^10*10^1010^10*2^10
---------也就是
10^2020^10
所以要把多的放在内循环!!!
dataset ds=new dataset();
for I.....
sql="...."
SqlDataAdapter da=new SqlDataAdapter(sql,ConnSql);
da.fill(ds,"tableName"+I) 这里要给ds中的表设个名字,唯一就行,我是字符+数字
next
Module Program
Sub Main()
Dim l,n1,n2 As Long
Console.Write("请输入一个大于等于6的偶数:")
l=CLng(Console.ReadLine())
For n1=3 To CLng(l/2)+1
n2=l-n1
If IsPrime(n1) AndAlso IsPrime(n2) Then
Exit For
End If
Next
Console.WriteLine("{0}={1}+{2}",l,n1,n2)
Console.Write("Press any key to continue . . . ")
Console.ReadKey(True)
End Sub
Function IsPrime(l As Long) As Boolean
Dim r As Boolean=False
Dim i As Long,sq As Long=CLng(Math.Sqrt(l))
For i=2 To sq
If 0=l Mod i Then
Exit For
End If
Next
If isq Then
r=True
End If
Return r
End Function
End Module