导航:首页 > 编程语言 > java线程的重启

java线程的重启

发布时间:2023-09-05 18:49:25

㈠ 如何实现java线程的暂停和重新启用

JAVA中线程开始有start方法,暂停用sleep(time)方法,线程停止用stop方法,线程等待wait方法,java 中没有线程重启一说,只能说线程唤醒()或是notify方法,前一个notifyAll()方法是唤醒所有的已休眠或是等待状态下的线程。具体的一种参数请参照JDK文档。

㈡ java中通过wait()和notify()实现线程暂停和重启,问题如下,求高手帮忙

wait并不是调用的那个线程被阻塞,是谁调用,谁被阻塞。

下边是例子

importjava.awt.BorderLayout;
importjava.awt.FlowLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;

importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;

,Runnable{
privateTestThreadthread=null;

publicTestApp(){

JPanelbuttons=newJPanel();
FlowLayoutlayout=newFlowLayout(FlowLayout.CENTER);
buttons.setLayout(layout);
add(buttons,BorderLayout.NORTH);

JButtonbtn=newJButton("pause");
btn.addActionListener(this);
buttons.add(btn);

JLabellabel=newJLabel();
add(label,BorderLayout.CENTER);

setSize(800,600);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
thread=newTestThread(label);
thread.start();
}

publicstaticvoidmain(String[]args){
newTestApp();
}

publicvoidactionPerformed(ActionEvente){
JButtonbtn=(JButton)e.getSource();
if("pause".equals(btn.getText())){
btn.setText("start");
thread.callWait();
}else{
btn.setText("pause");
thread.call();
}
}

publicvoidrun(){

}
}

classTestThreadextendsThread{
privatebooleanisWait=false;
privateJLabellabe=null;

publicTestThread(JLabellabe){
this.labe=labe;
}

publicvoidrun(){
intindex=0;
while(true){
try{
if(isWait){
wait();
}
labe.setText(""+(++index));
sleep(500);
}catch(Exceptione){

}
}
}

(){
isWait=true;
}

publicsynchronizedvoidcall(){
isWait=false;
notify();
}
}

㈢ java 多线程 重启

您好,线程停止了就结束了,所以你若想让你一个线程停止了又能再重新开始,那只能让这个线程sleep。
如下一段代码就可以实现你的需求了,希望你能看懂!!

package com.lxh.;

public class ThreadRestart extends Thread {

private static int i = 0;

@Override
public void run() {
while(true) {
// 这里用来判断线程是否继续停止,不执行代码逻辑
if(i == 1) {
try {
sleep(100);
System.out.println("........");
continue;
} catch (InterruptedException e) {
e.printStackTrace();
}
}

// 假设这是你线程中的一段逻辑
{
System.out.println("Happy Happy....");
}
}
}

public static void main(String[] args) throws Exception {
ThreadRestart threadTest = new ThreadRestart();
threadTest.start();

for (int j = 0; j < 20; j++) {
// 假设执行如下一段代码逻辑时,让线程threadTest执行
{
i = 0;
Thread.sleep(2000);
}

// 假设执行如下的一段代码逻辑后,让线程threadTest停止执行
{
i = 1;
Thread.sleep(2000);
}
}

// 退出整个程序
System.exit(0);
}
}

㈣ JAVA如何重新启用一个线程

java实现多线程有2种方法:1扩展java.lang.Thread类;2实现java.lang.Runnable接口 下面举个例子,实现Runnable,来实现多线程 public class DoSomething implements Runnable { //实现Runnable接口 public void run() { // 实现run方法 for (int i = 0; i < 5; i++) { // 重复5次 System.out.println("次线程do something"); try { Thread.sleep(1000); //休眠1秒 } catch (Exception e) {} } } public static void main(String[] args) { DoSomething dothing = new DoSomething(); Thread t1 = new Thread(dothing); t1.start(); //这里就是楼主提的问题,启动线程,执行上面写的run()方法 for (int i = 0; i < 5; i++) { //主线程 System.out.println("主线程do something"); try { Thread.sleep(1000); //休眠1秒 } catch (Exception e) {} } } }

㈤ java线程发生异常时怎么重新启动这个线程

for循环,try catch语句,在catch里截获异常,判断已经发生异常的次数,少于等于3遍,currentThread.interrupt() 大于3停止当前线程。

㈥ JAVA 线程重新启动问题

这个run函数的主体是一个while循环,既然没有break语句,那线程就不会结束。捕获异常以后会继续下一次循环。
更不需要start,因为已经start了。。。

㈦ JAVA中如何让一个线程意外终止后重新启动

新建一个线程,一直循环,每隔5分钟调用那6个Tread的isAlive()方法进行判断,如果返回为false则调用它们的start()方法。

㈧ 在java中什么办法可以让线程停止然后再重新启动它

1.你可以用布尔值来抄控制是否让袭线程运行。例:while(boolean isLive){} 当isLive为true线程就运行,否则不运行。
2.你可以用对象。例:while(Object o != null)当对象存在的时候线程就运行,否则不运行!
3.你可以用wait()方法来让线程等待,然后用notify()、notifyAll()在适当的时候唤醒线程、或者唤醒所有在些等待的线程!
例:一个挺不错的例子---吃馒头和做馒头。
一个线程做馒头,做好了放在篮子里(容量为10)。
一个线程吃馒头,从篮子里拿馒头吃(如果篮里有馒头)。
还有一点就是为了看到明显的等待效果,用一个随机数来决定做和吃的速度。这样就不会行成做一个,吃一个,篮子永远装不满的不理想效果!(最好就是做稍快于吃)
这时,当篮子满了,你就应该调用wait()方法来让做的线程等待,让吃的线程将篮子腾出空间放馒头。同时,吃的线程也应该通知做的线程可以做馒头了(就应该调用notify()来唤醒做的线程)。
这个例子应该就是你想要的“停止”后再重新启动吧!
如果你说的是完全停止(死了),那就不行了!

阅读全文

与java线程的重启相关的资料

热点内容
位位用车app在哪里下载 浏览:427
格式工厂iphone铃声 浏览:171
linux设置字符编码 浏览:15
帝王世纪升级哪个兵种 浏览:409
c编程开发软件是什么 浏览:334
二的大写怎么写app 浏览:612
乐视数据删除了怎么找回来 浏览:651
ug编程初始化怎么办 浏览:295
nginxajax配置文件 浏览:467
小程序获取二进制图片 浏览:206
为什么有的数控车编程有百分号 浏览:425
m文件有什么用 浏览:359
宜昌做投标文件多少钱 浏览:166
uc浏览器小说下载那个文件夹 浏览:908
qq和手机 浏览:238
ps备份文件教程 浏览:306
数据库原理嵌套查询 浏览:679
为什么文件只解压了一部分 浏览:728
c语言课程教学视频java源码下载 浏览:444
老毛桃2014u盘启动盘制作教程 浏览:53

友情链接