run()方法完成执行后,线程会自动关闭吗?

liamzebedee:

我目前正在为我的游戏开发网络,并正在运行客户端和服务器。服务器当前在另一个服务器中无限循环Thread,但是我的客户端和游戏代码在同一线程中。当客户端正在处理来自服务器的数据时,我遇到了问题,并且游戏挂起,直到客户端完成了对新数据包的处理。

我试图通过使客户端类实现Runnable并在单独的线程中运行来解决此问题我遇到了其他一些错误,并且想知道这是否是问题。

我有run方法,还有sendPacket方法:

public void run() {
    // empty
}

public void sendPacket() {
    somePacketSendingCode();
}

该方法中没有代码run,因为我仅使用该sendPacket方法。sendPacket接收到数据包时,由侦听器线程调用。

如果我的run方法中没有代码,这是否意味着客户端Thread在启动后停止执行?如果是这样,这是否意味着该sendPacket方法将不执行任何操作?

都铎王朝

如果您没有在sendPacket方法内部调用该run方法,则它将永远不会执行。线程一run返回就停止

请注意,只有run方法包含线程的实际代码。您在帖子中说您拥有该sendPacket方法,并且仅在使用方法。这意味着您实际上并没有在并行运行任何内容。调用时会触发并行线程start(),这将run异步调用该方法。仅调用sendPacket不是并行性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

主方法关闭后线程如何运行?

如果main方法完成执行,那么任何长时间运行的线程会怎样?

2019,Chrome 76,自动完成关闭方法

C ++线程完成执行后仍会“ joinable()”吗?

分离后C ++ 11线程会自动销毁吗

单击滚动条后,Primefaces自动完成关闭

主线程完成后,Reactor Scheduler会保持运行很长时间吗?

Java会自动关闭响应流吗?

dom完成渲染后,Angular2会执行操作

启动后,地点选择器会自动关闭

验证完成后自动关闭用户表单

选择后关闭v-自动完成

调用方完成工作后,线程会死吗?

主线程完成后,正常关闭ExecutorService

让线程在主窗体关闭后运行,而不必等待线程完成

连接完成后,如何使“拨号”窗口自动关闭?

Windows Defender病毒扫描后如何自动关闭?任务计划程序会参与其中吗?

RunonUI线程会阻止android中的AsynTask从执行到完成

两个线程完成执行后清理

发送64kB后,TCP套接字会自动关闭吗?

Qt会自动关闭文件吗?

方法完成后,PostgreSQL关闭连接

多个功能完成后,nodejs会执行某些操作

进度完成后,圆形进度按钮会自动触发

线程执行的函数的return语句会自动杀死线程吗?

中断异常中的方法调用是否会完成 run() 方法并使线程完成

有什么方法可以强制线程在认为它已完成执行时不自动关闭?

即使所有线程完成执行,activeCount 方法也会显示一个活动线程

run方法完成后的线程类实例