以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  发布的项目在同一台电脑为什么会出现多个进程?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169765)

--  作者:happyft
--  发布时间:2021/6/29 17:15:00
--  发布的项目在同一台电脑为什么会出现多个进程?

图片点击可在新窗口打开查看此主题相关图片如下:进程.png
图片点击可在新窗口打开查看

发布的项目运行过程中为何出现两个以上的多个相同进程,这样会导致项目卡死,结束掉多余的进程就可以;
相同的项目只出现在一台电脑上,其他电脑都不会

谢谢!

--  作者:有点蓝
--  发布时间:2021/6/29 17:36:00
--  
有没有使用到多线程?

重启电脑,然后测试打开一个程序,看看有几个进程?然后关闭这个程序,看看进程有没有消失?

--  作者:HappyFt
--  发布时间:2021/6/29 18:01:00
--  
都没有印象,如何判断哪里有使用多线程?
--  作者:有点蓝
--  发布时间:2021/6/29 20:43:00
--  
输出代码搜索“thread”
--  作者:HappyFt
--  发布时间:2021/6/30 10:34:00
--  
所有代码中只有下面几处用到

全局代码

NetChoice

Public _stopThread As Boolean

Public Sub beforeOpenProject()

Do Until ShowAppWindow("网络类型", 1) = True

    If _stopThread  Then Exit Do

    application.DoEvents

Loop

End Sub


Default

Public mu As System.Threading.Mutex  \'控制程序不能重复打开


BeforeOpenProject

\'---控制一台电脑只能打开一个客户端运行!

Dim sucess As Boolean = False

mu = new System.Threading.Mutex(True, "dsdfhdfghf", sucess)

If not sucess Then

    MessageBox.Show("程序已经在运行,不能重复打开!", "提示",MessageBoxButtons.Ok,MessageBoxIcon.Warning,0, System.Windows.forms.MessageBoxOptions.ServiceNotification)

    e.Cancel = True

End If

 

\'---第一次打开项目时先显示网络类型对话框

Dim t1 As New System.Threading.Thread(AddressOf beforeOpenProject)

t1.IsBackground = True

t1.Start()


AfterOpenProject

_stopThread = True \'停止线程





--  作者:有点蓝
--  发布时间:2021/6/30 10:43:00
--  
可以试试去掉这些代码,发布到这个电脑测试

另外
重启电脑,然后测试打开一个程序,看看有几个进程?然后关闭这个程序,看看进程有没有消失?