Foxtable(狐表)用户栏目专家坐堂 → 关于移动服务器代码变成多线程请教


  共有2369人关注过本帖树形打印复制链接

主题:关于移动服务器代码变成多线程请教

帅哥哟,离线,有人找我吗?
ap9709130
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
关于移动服务器代码变成多线程请教  发帖心情 Post By:2017/8/6 23:41:00 [显示全部帖子]

各位老师

我想把服务器代码变成多线程,但因为有参数,不知道怎么弄,请帮忙!我的代码如下:

Dim sb As New StringBuilder
sb.AppendLine("<!doctype html>")
sb.AppendLine("<html>")
sb.appendLine("<head>")
sb.AppendLine("<meta charset='gb2312'>")
sb.AppendLine("<meta name='viewport' c>")
sb.appendLine("</head>")
sb.AppendLine("<body>")
Dim wb As New weui
e.Resp
Dim zd As String = e.path
Dim dw As Integer = zd.IndexOf(".")
zd = zd.SubString(0,dw)
If zd > "" Then
    Dim qd As String = Functions.Execute("checkname",zd)    
    If qd = 1 Then
        Functions.Execute(zd,e)
    Else
        e.WriteString("正在建设中,请期待!")
    End If
End If
sb.AppendLine("</body>")
sb.AppendLine("</html>")

运行暂时没有问题,但我想试试变成多线程会不会更好,但因为有参数,不知道怎么变,请老师指教!多谢!

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/8/7 12:08:00 [显示全部帖子]

这种可以的,但是在过程中函数名称是变量,这种要怎么写?

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/8/7 12:09:00 [显示全部帖子]

因为我每一个页面写成一个函数,帮助上也是这么建议的


 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/8/7 12:11:00 [显示全部帖子]

functions. Execute(obj)

这样写就可以了,多谢老师。

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/8/8 23:11:00 [显示全部帖子]

老师,代码如下,但是不行:
Public Sub thread_sub1(ByVal e as RequestEventArgs)
Dim sb As New StringBuilder
sb.AppendLine("<!doctype html>")
sb.AppendLine("<html>")
sb.appendLine("<head>")
sb.AppendLine("<meta charset='gb2312'>")
sb.AppendLine("<meta name='viewport' c>")
sb.appendLine("</head>")
sb.AppendLine("<body>")
Dim wb As New weui
e.Resp
Dim zd As String = e.path
Dim dw As Integer = zd.IndexOf(".")
zd = zd.SubString(0,dw)
If zd > "" Then
    Dim qd As String = Functions.Execute("checkname",zd)    
    If qd = 1 Then
        Functions.Execute(zd,e)
    Else
        e.WriteString("正在建设中,请期待!")
    End If
End If
sb.AppendLine("</body>")
sb.AppendLine("</html>")
End Sub

过程没有问题,可以通过。

但是在httprequest事件启用多线程时代码如下:
Dim nthread As New System.Threading.Thread(AddressOf thread_sub1)
nthread.start(e)

就会出错。多线程代码要怎么写?



 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/8/9 17:36:00 [显示全部帖子]

老师

事件这样写:
Dim nthread As New System.Threading.Thread(AddressOf thread_sub1)
nthread.start(e)

可以过,但是不行啊!

 回到顶部