java sleep不能使用_java无主窗口GUI程序主线程不能调用sleep(long)方法,会产生异常...
java无主窗口GUI程序主线程不能调用sleep(long)方法,会产生异常。
public class fxframe{
public static void main(String[] args) {
// TODO Auto-generated method stub
fxframe mainframe=new fxframe();
mainframe.go();
}
public void go()
{
buf1=new byte[5000];
running = true;
new Thread() {
public void run()
{
readthread();
};
}.start();
netwatch();
}
netwatch()
{
System.out.println("sendthread starts!");
while (running)
{
if (socket == null)
{
netcon("xx.xx.xx", nport);
}
if (socket != null)
{
try
{
os.write(netreq);
os.flush();
System.out.println("send data!");
}
catch (Exception e)
{
socket = null;
}
}
try
{
Thread.sleep(5000);
}
catch (InterruptedException e)
{}
}
try
{
is.close();
os.close();
socket.close();
}
catch (Exception e)
{}
System.out.println("sendthread end!");
}
private void readthread()
{
int i;
String s1;
System.out.println("readthread starts!");
while (running) {
if (socket != null) {
try {
// 读取数据
i=is.read(buf1);
s1=new String(buf1,0,i,"GBK");
System.out.println("recv data!"+s1);
}
catch (IOException e) {
}
} else {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
System.out.println("readthread end!");
}
}
在这个程序输出JAR,用launch4j.exe包装成exe,运行时在网络监控看到连续不断的发送请求包。其实就是休眠sleep(long)产生异常所致,立即被捕捉又返回循环。
将以上程序的netwatch()启动线程,在主线程调用readthread()后正常。
public void go()
{
buf1=new byte[5000];
running = true;
new Thread() {
public void run()
{
netwatch();
};
}.start();
readthread();
}
java sleep不能使用_java无主窗口GUI程序主线程不能调用sleep(long)方法,会产生异常...相关推荐
- java 设置主线程_Java线程编程中的主线程讲解
当Java程序启动时,一个线程立刻运行,该线程通常叫做程序的主线程(main thread),因为它是程序开始时就执行的.主线程的重要性体现在两方面: 它是产生其他子线程的线程: 通常它必须最后完成执 ...
- Java中主线程如何捕获子线程抛出的异常
Java中主线程如何捕获子线程抛出的异常 参考文章: (1)Java中主线程如何捕获子线程抛出的异常 (2)https://www.cnblogs.com/jpfss/p/10272885.html ...
- QT中如何实现Thread与GUI的主线程连通
QT中如何实现Thread与GUI的主线程连通 本文介绍的是QT中实现Thread与GUI主线程通,目前只会一种,采用信号槽机制. 通常情况下,信号和槽机制可以同步操作,这就意味着在发射信号的时候,使 ...
- 【Java 多线程】Java中主线程如何捕获子线程抛出的异常
首先明确线程代码的边界.其实很简单,Runnable接口的run方法所界定的边界就可以看作是线程代码的边界.Runnable接口中run方法原型如下: public void run(); 而所有的具 ...
- [转]Java中主线程如何捕获子线程抛出的异常
这么来看待这个问题.首先明确线程代码的边界.其实很简单,Runnable接口的run方法所界定的边界就可以看作是线程代码的边界.Runnable接口中run方法原型如下: << ...
- java怎么实现购物车_java实现网上购物车程序
导读热词 用java代码写一个简单的网上购物车程序,供大家参考,具体内容如下 需求: 1.写一个商品类,有商品编号.商品名称.商品分类.商品单价属性. 2.写一个商品条目信息类,有商品和数量两个属性, ...
- java的图形用户界面_Java学习之GUI(图形用户界面)
一.GUI 概述 1.概述: 1.GUI:Graphical User Interface,即图形用户界面,用于计算机与用户交互的一种方式 2.计算机与用户交互的形式:GUI和CLI GUI: Gra ...
- java swing最小化_Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果)...
Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果) package swing; import java.awt.AWTException; import java ...
- java组件自适应窗口大小_java swing 窗口和控件自适应大小
本文记录java开发CS结构时怎么自适应屏幕大小以及控件跟随frame大小变化大小.位置和字体大小 需要注意: 1.代码必须放置在其构造方法中.如:我的frame1是我frame.java的名,则代码 ...
最新文章
- 项目问题思考之策略模式
- 一些VC++ 系统类通用类
- PAT甲级1112 Stucked Keyboard:[C++题解]卡住的键盘、双指针、去重
- html5 can,微软想要从HTML5中分离Can
- C和汇编---while反汇编
- boost库中mutex、condition_variable与mutex::scoped_lock联合使用实现线程之间的通信
- 几款效率神器助你走上人生巅峰
- 文本文档怎么转换为html文件,win10系统下如何将文本文档转换为网页
- 企业级多用户发卡平台源码 源码完全开源 无任何加密
- linux中patch补丁的文件格式和使用
- 音视频采集-摄像头视频采集(原理与实现)
- eNSP交换机配置IP
- esp32拍照传输到手机android,esp32-cam拍照上传云平台教程
- JAVA学习笔记——BLOB类型和数据批量操作
- 停止在csdn发文及上传资源的声明
- JAVA 利用多方法查找质数(素数)
- 下载没有种子链接用特征码下片的方法
- 基于Ext的开发实例_模拟Windows桌面
- 网络安全没有“银弹”
- 游戏开发入门 二、游戏中的设计模式
热门文章
- python画图代码星星-Python打印“菱形”星号代码方法
- 执行后可以查看python版本的是-【单选题】执行后可以查看Python的版本的是
- python解释器是什么-python编译器和解释器的区别是什么
- 我在学python-你们以为我在学C++?其实我在学Python!人生苦短!
- python线上培训多少钱-Python人工智能在线培训班学费多少钱?
- python语言怎么学-如何学习Python,以及新手如何入门?
- java和python的web自动化有什么区别-Java 和 Python 有哪些区别?
- python画出心形图-python画出心形图
- python爬虫实战案例-Python爬虫实战案例:手机APP抓包爬虫
- python使用方法-python中dict使用方法详解