java WHILE 循环问题

有没有办法让循环在5秒以后自动退出?

问题补充:
clshanghe 写道
利用线程就可以啊

能给个实例代码么?

问题补充:
DatagramPacket p = new DatagramPacket(datas,datas.length);
while(true)
{
    dgs.receive(p);
    System.out.println(p);
}

因为当没有接受到数据包的时候循环会停在dgs.receive(p)这里,所以我想让循环只接收5秒的包,5秒后退出循环。

问题补充:
clshanghe 写道
用JAVA实现多线程编写,使得许多小球在界面内循环跳动

下面这段代码应该符合你的需求      仔细参考一下


你这个循环是线程睡5秒继续执行 ,我要的是让循环退出而不是让线程SLEEP

问题补充:
ethen 写道
我觉得不应该在while里面改,还是应该针对receive方法进行修改,应该可以设置timeout的。

恩  是的   我刚查了文档   设置了TIMEOUT  然后解决了  你就回答了   不过还是谢谢你  分给你吧~
2019-03-25 13:46

相关教程

更多

Java循环结构 – for, while 及 do…while

Java循环结构 - for, while 及 do...while    顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构。  Java中有三种主要的循环结构:      while循环  do…while循环  for循环

java新手求解关于大量数据的循环问题

现在又20W+的数据要通过循环,要怎么样对这些数据进行分批循环???  也就是先循环这些数据的前1000条,之后再循环后1000条,如此下去~~     问题补充:就是从excel中读取20W+的邮件地址,然后循环向这些地址发送邮件~      问题补充:     牟盖东 写道      如果只有邮件地址,初步计算占用10M级的内存。这么点数据,不明白为什么要拆开循环。为了发1000个看看有多少个

java 一次循环中,插入两条相同的数据

这是一个java写的程序,我在读到另一个系统的xml文件后,将数据插入到另一个系统的数据库,在插入前做判断,如果这条记录已经存在,那么更新,没有的话就插入,程序已经运行一年多没有问题了,最近有几个接口,都出现过一条数据重复插入的问题。  请各位给点意见,推测是哪方面的问题造成的,因为想重现错误非常难。  我的推测及根据:  1,数据库使用的是oracle,表的主键是一个自增序列,所以不能约束,重复

【第三章】 DI 之 3.2 循环依赖 ——跟我学spring3

循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调用。

bash shell循环的疑问

下面两段代码  第一段,无法正确统计文件行数,count在循环中的计算,出了循环就无效了  第二段,count2出了循环依然有效  初学shell,不太明白这是为什么,希望大家指点一下  ps:第一段代码应该如何修改,才能达到第二段的效果  #!/bin/bashcount=0cat "$1" | while read linedo    count=$[ $count + 1

Lua循环遍历


                            

Groovy 循环语句


                            

java顺序循环队列最多能容纳60个元素,当front=47,rear=23时,求队列元素个数?

我从网上看到一种做法是用|rear-front+MAX|%MAX,结果是24,那么我想问了这个与直接用|rear-front|有什么区别呢?  感激不尽。。。     问题补充:     ethen 写道      首先,结果是36。(严重怀疑lz数学水平,    )    其次,当rear>front时,size=rear-front.当rear<front时,size=rear-f

Java 数组

Java 数组    数组对于每一门编辑应语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。  Java语言中提供的数组是用来存储固定大小的同类型元素。 你可以声明一个数组变量,如numbers[100]来代替直接声明100个独立

Java 方法

Java 方法    在前面几个章节中我们经常使用到System.out.println(),那么它是什么呢?  println()是一个方法(Method),而System是系统类(Class),out是标准输出对象(Object)。这句话的用法是调用系统类Sy

原创:如何实现在Excel通过循环语句设置指定行的格式

原创:如何实现在Excel通过循环语句设置指定行的格式 一、需求: 想让excel的某些行(比如3的倍数的行)字体变成5号字 如何整; 二、实现:    Sub code()For i = 1 To Range("A65536").End(xlUp).Row    Rows(3 * i & ":" & 3 * i).Select    Sel

java数组的遍历

1. for-each增强for循环在遍历数组过程中不能修改数组中某元素的值

java处理大量数据时性能问题

项目中一个小模块要求连接数据,比如有3条记录:a-b, b-c, c-d,则结果就是a-b-c-d。如果是a-b, b-c, b-d,则结果是a-b-c和a-b-d两条。  现一次性从数据库取出1万多条数据,放到list里面,然后按照上述连接要求进行循环匹配,连接结果设定最多就是10个节点(否则可能无限制循环了),但是这时整个机器像死了一样,内存占用不断上升(启动时我已经设置-Xms512m -X

Java Applet基础

Java Applet基础    applet是一种Java程序。它一般运行在支持Java的Web浏览器内。因为它有完整的Java API支持,所以applet是一个全功能的Java应用程序。 如下所示是独立的Java应用程序和applet程序之间重要的不同:      Java中applet类

《编程之道 Java》(Program JAVA)[ISO]

本教材的第1章到第7章讲述了怎样学习Java和Java的基础知识,以及面向对象的编程思想;第8章到第11章,主要讲述了Java的核心技术:抽象、接口、封装、继承等。

最新教程

更多

java线程状态详解(6种)

java线程类为:java.lang.Thread,其实现java.lang.Runnable接口。 线程在运行过程中有6种状态,分别如下: NEW:初始状态,线程被构建,但是还没有调用start()方法 RUNNABLE:运行状态,Java线程将操作系统中的就绪和运行两种状态统称为“运行状态” BLOCK:阻塞状态,表示线程阻塞

redis从库只读设置-redis集群管理

默认情况下redis数据库充当slave角色时是只读的不能进行写操作,如果写入,会提示以下错误:READONLY You can't write against a read only slave.  127.0.0.1:6382> set k3 111  (error) READONLY You can't write against a read only slave. 如果你要开启从库

Netty环境配置

netty是一个java事件驱动的网络通信框架,也就是一个jar包,只要在项目里引用即可。

Netty基于流的传输处理

​在TCP/IP的基于流的传输中,接收的数据被存储到套接字接收缓冲器中。不幸的是,基于流的传输的缓冲器不是分组的队列,而是字节的队列。 这意味着,即使将两个消息作为两个独立的数据包发送,操作系统也不会将它们视为两个消息,而只是一组字节(有点悲剧)。 因此,不能保证读的是您在远程定入的行数据

Netty入门实例-使用POJO代替ByteBuf

使用TIME协议的客户端和服务器示例,让它们使用POJO来代替原来的ByteBuf。

Netty入门实例-时间服务器

Netty中服务器和客户端之间最大的和唯一的区别是使用了不同的Bootstrap和Channel实现

Netty入门实例-编写服务器端程序

channelRead()处理程序方法实现如下

Netty开发环境配置

最新版本的Netty 4.x和JDK 1.6及更高版本

电商平台数据库设计

电商平台数据库表设计:商品分类表、商品信息表、品牌表、商品属性表、商品属性扩展表、规格表、规格扩展表

HttpClient 上传文件

我们使用MultipartEntityBuilder创建一个HttpEntity。 当创建构建器时,添加一个二进制体 - 包含将要上传的文件以及一个文本正文。 接下来,使用RequestBuilder创建一个HTTP请求,并分配先前创建的HttpEntity。

MongoDB常用命令

查看当前使用的数据库    > db    test  切换数据库   > use foobar    switched to db foobar  插入文档    > post={"title":"领悟书生","content":"这是一个分享教程的网站","date":new

快速了解MongoDB【基本概念与体系结构】

什么是MongoDB MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

windows系统安装MongoDB

安装 下载MongoDB的安装包:mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi,按照提示步骤安装即可。 安装完成后,软件会安装在C:\Program Files\MongoDB 目录中 我们要启动的服务程序就是C:\Program Files\MongoDB\Server\3.2\bin目录下的mongod.exe,为了方便我们每次启动,我

Spring boot整合MyBatis-Plus 之二:增删改查

基于上一篇springboot整合MyBatis-Plus之后,实现简单的增删改查 创建实体类 添加表注解TableName和主键注解TableId import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baom

分布式ID生成器【snowflake雪花算法】

基于snowflake雪花算法分布式ID生成器 snowflake雪花算法分布式ID生成器几大特点: 41bit的时间戳可以支持该算法使用到2082年 10bit的工作机器id可以支持1024台机器 序列号支持1毫秒产生4096个自增序列id 整体上按照时间自增排序 整个分布式系统内不会产生ID碰撞 每秒能够产生26万ID左右 Twitter的 Snowflake分布式ID生成器的JAVA实现方案