sleepjava的简单介绍

本文目录一览:

java中的sleep和wait的区别

sleep和wait的区别:

1、sleep的意思是:睡,睡觉,睡眠。

2、wait的意思是:等候,推迟,延缓等待,耽搁,伺候用餐。

拓展资料

sleep的用法

1、They were exhausted from lack of sleep

由于缺乏睡眠,他们非常疲惫。

2、During the car journey, the baby slept

坐车来的路上,宝宝睡着了。

3、I think he may be ready for a sleep soon.

我想他也许很快就要睡一觉了。

4、I can’t get to sleep with all that singing.

那些歌声搅得我无法入睡。

5、I didn’t lose too much sleep over that investigation.

我并不太担心那个调查。

wait

1、I walk to a street corner and wait for the school bus

我走到街角等校车。

2、There’ll be a car waiting for you

会有辆汽车等你。

3、I want to talk to you, but it can wait

我想和你谈谈,但可以晚点再说。

4、If you think this all sounds very exciting, just wait until you read the book

如果你觉得所有这些听起来令人兴奋,那就等着去读这本书吧。

5、’Wait a minute!’ he broke in. ‘This is not giving her a fair hearing!’

“等一下,”他插嘴说,“这没有给她一个公平的解释机会!”

java 中sleep()方法或者wait()方法的使用

简单说:sleep由线程自动唤醒,wait必须显示用代码唤醒。

sleep是Thread类的静态方法。sleep的作用是让线程休眠制定的时间,在时间到达时恢复,也就是说sleep将在接到时间到达事件事恢复线程执行,例如:

try{

System.out.println(“I’m going to bed”);

Thread.sleep(1000);

System.out.println(“I wake up”);

}

catch(IntrruptedException e) {

}

wait是Object的方法,也就是说可以对任意一个对象调用wait方法,调用wait方法将会将调用者的线程挂起,直到其他线程调用同一个对象的notify方法才会重新激活调用者,例如:

//Thread 1

try{

obj.wait();//suspend thread until obj.notify() is called

}

catch(InterrputedException e) {

}

java sleep()

下面分别是服务器端和客户端的代码,先运行服务器端,再运行客户端

服务器端:

import java.awt.event.*;

import java.io.*;

import java.net.*;

import java.util.*;

import java.util.List;

import javax.swing.*;

public class ChatServer {

public static void main(String[] args) throws Exception {

ServerSocket ss = new ServerSocket(9000);

ServerFrame sf = new ServerFrame();

sf.launchFrame();

List list = new ArrayList(); // 创建数组

while (true) { // 开启多线程

Socket s = ss.accept();

list.add(s);

Thread t = new ServerThread(s, list, sf);

t.start();

}

}

}

class ServerThread extends Thread { // 创建线程类

Socket s;

BufferedReader in;

PrintWriter out;

ServerFrame sf;

public ServerThread(Socket s, List list, ServerFrame sf) {

this.s = s;

this.sf = sf;

sf.sokectList = list;

try {

in = new BufferedReader(new InputStreamReader(s.getInputStream()));

out = new PrintWriter(s.getOutputStream());

} catch (IOException e) {

e.printStackTrace();

}

}

public void run() {

while (true) {

try {

String str = in.readLine();

if (str == null)

continue;

sf.jta.append(“接收到:” + str + “\n”);

} catch (IOException e) {

return;

}

}

}

}

class ServerFrame {

List sokectList;

JTextField jtf;

JTextArea jta;

PrintWriter out;

public void launchFrame() {

JFrame frame = new JFrame(“服务器端”); // 创建 frame对象

frame.setSize(400, 300); // 设置fram大小

frame.setLocation(300, 250);

jta = new JTextArea();

jta.setEditable(false);

jtf = new JTextField();

jtf.addActionListener(new ActionListener() { // 注册监听器

public void actionPerformed(ActionEvent arg0) {

send();

}

});

frame.getContentPane().add(new JScrollPane(jta));

frame.getContentPane().add(jtf, “South”);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

public void send() { // 输出文字

String text = this.jtf.getText();

this.jtf.setText(“”);

if(sokectList==null) {

jta.append(“无客户端,发送失败:” + text + “\n”);

return;

}

jta.append(“发送指令:” + text + “\n”);

Iterator it = sokectList.iterator();

while (it.hasNext()) {

Socket socket = (Socket) (it.next());

try {

out = new PrintWriter(socket.getOutputStream());

} catch (IOException e) {

// TODO Auto-generated catch block

jta.append(“与客户端连接失败!\n”);

continue;

}

out.println(text);

out.flush();

}

}

}

客户端:

import java.awt.BorderLayout;

import java.awt.Frame;

import java.awt.Panel;

import java.awt.TextArea;

import java.awt.event.*;

import java.io.*;

import java.net.*;

import javax.swing.*;

public class ChatClient {

public static void main(String[] args) {

ChatClient cc = new ChatClient();

while(true)

cc.receive();

}

static boolean boo;

Frame clientFrame;

Panel topPanel;

TextArea topTextArea;

Socket s;

BufferedReader in;

PrintWriter out;

public ChatClient() {

this.clientFrame = new Frame(“客户端”);

this.clientFrame.setBounds(350, 250, 150, 250);

this.clientFrame.setResizable(false);

this.clientFrame.setVisible(true);

this.topPanel = new Panel();

this.clientFrame.setBounds(350, 250, 150, 200);

this.topTextArea = new TextArea();

this.topPanel.add(this.topTextArea);

this.clientFrame.add(this.topPanel, BorderLayout.NORTH);

this.clientFrame.pack();

this.clientFrame.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

int var = JOptionPane.showConfirmDialog(null, “退出?”,

“退出”, JOptionPane.OK_CANCEL_OPTION);

if (var == JOptionPane.OK_OPTION)

System.exit(0);

}

});

try {

s = new Socket(“127.0.0.1”, 9000);//设置端口

in = new BufferedReader(new InputStreamReader(s.getInputStream()));//创建对象in

out = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));//创建对象out

} catch(UnknownHostException e) {//捕捉异常

e.printStackTrace();

} catch(ConnectException e) {

JOptionPane.showMessageDialog(null, “与服务器连接失败,请确认服务器是否已经开启!”);

System.exit(-1);

} catch(IOException e) {

e.printStackTrace();

}

}

public void receive() { // 读信息

try {

String text = in.readLine();

if(“STOP”.equals(text.toUpperCase())) {

if(boo) {

this.topTextArea.append(“结束发送!\n”);

boo = false;

}

return;

}

if(“START”.equals(text.toUpperCase())) {

boo = true;

this.topTextArea.append(“开始向服务器发送数据:\n”);

new SendThread(this).start();

return;

}

this.topTextArea.append(“接收到无效指令:” + text + “\n”);

} catch (SocketException e) {

JOptionPane.showMessageDialog(null, “与服务器断开连接!”);

System.exit(-1);

} catch (IOException e) {

e.printStackTrace();

return;

}

}

public void send() {

while(boo) {

String str = Math.random() + “”;

out.println(str);

out.flush();

this.topTextArea.append(“发送:” + str + “\n”);

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

class SendThread extends Thread {

ChatClient cc;

SendThread(ChatClient cc) {

this.cc = cc;

}

@Override

public void run() {

// TODO Auto-generated method stub

cc.send();

}

}

java中的sleep是什么意思

SLEEP,英语单词,名词、动词,作名词时意为“睡眠,人名;(英)斯利普”,作动词时意为“睡,睡觉”。

单词发音英[sli_p]美[sli_p]基本用法sleep用作动词的基本意思是“睡眠”,也可作“为(某数量的人)提供床位”解。

sleep与介词to连用时一般都省略冠词。sleep用作名词的意思是“睡眠”,是不可数名词;加不定冠词时,表示“一段时间的睡眠”。

sleep的进行时可以表示按计划、安排或打算即将发生的动作,这时句中往往有表示将来的时间状语或特定的上下文。一站式出国留学攻略

java sleep(1000)和wait(1000)有区别吗?

第一种解释:\x0d\x0a\x0d\x0a功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩. \x0d\x0a \x0d\x0a还有用法的上的不同是:sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断;wait()可以用notify()直接唤起.\x0d\x0a\x0d\x0a第二种解释:\x0d\x0a\x0d\x0asleep是Thread类的静态方法。sleep的作用是让线程休眠制定的时间,在时间到达时恢复,也就是说sleep将在接到时间到达事件事恢复线程执行,例如:\x0d\x0a\x0d\x0atry{\x0d\x0aSystem.out.println(“I’m going to bed”);\x0d\x0aThread.sleep(1000);\x0d\x0aSystem.out.println(“I wake up”);\x0d\x0a}\x0d\x0acatch(IntrruptedException e) {\x0d\x0a}\x0d\x0a\x0d\x0await是Object的方法,也就是说可以对任意一个对象调用wait方法,调用wait方法将会将调用者的线程挂起,直到其他线程调用同一个对象的notify方法才会重新激活调用者,例如:\x0d\x0a\x0d\x0a//Thread 1\x0d\x0a\x0d\x0atry{\x0d\x0aobj.wait();//suspend thread until obj.notify() is called\x0d\x0a}\x0d\x0acatch(InterrputedException e) {\x0d\x0a}\x0d\x0a\x0d\x0a第三种解释:\x0d\x0a\x0d\x0a这两者的施加者是有本质区别的. \x0d\x0asleep()是让某个线程暂停运行一段时间,其控制范围是由当前线程决定,也就是说,在线程里面决定.好比如说,我要做的事情是 “点火-烧水-煮面”,而当我点完火之后我不立即烧水,我要休息一段时间再烧.对于运行的主动权是由我的流程来控制.\x0d\x0a\x0d\x0a而wait(),首先,这是由某个确定的对象来调用的,将这个对象理解成一个传话的人,当这个人在某个线程里面说”暂停!”,也是 \x0d\x0athisOBJ.wait(),这里的暂停是阻塞,还是”点火-烧水-煮饭”,thisOBJ就好比一个监督我的人站在我旁边,本来该线\x0d\x0a程应该执行1后执行2,再执行3,而在2处被那个对象喊暂停,那么我就会一直等在这里而不执行3,但这个流程并没有结束,我一直想去煮饭,但还没被允许,\x0d\x0a \x0d\x0a直到那个对象在某个地方说”通知暂停的线程启动!”,也就是thisOBJ.notify()的时候,那么我就可以煮饭了,这个被暂停的线程就会从暂停处\x0d\x0a继续执行.\x0d\x0a\x0d\x0a其实两者都可以让线程暂停一段时间,但是本质的区别是一个线程的运行状态控制,一个是线程之间的通讯的问题\x0d\x0a\x0d\x0a在java.lang.Thread类中,提供了sleep(),\x0d\x0a而java.lang.Object类中提供了wait(), notify()和notifyAll()方法来操作线程\x0d\x0asleep()可以将一个线程睡眠,参数可以指定一个时间。\x0d\x0a而wait()可以将一个线程挂起,直到超时或者该线程被唤醒。\x0d\x0a wait有两种形式wait()和wait(milliseconds).\x0d\x0asleep和wait的区别有:\x0d\x0a 1,这两个方法来自不同的类分别是Thread和Object\x0d\x0a 2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。\x0d\x0a 3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在\x0d\x0a 任何地方使用\x0d\x0a synchronized(x){\x0d\x0a x.notify()\x0d\x0a //或者wait()\x0d\x0a }\x0d\x0a 4,sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常

java sleep方法

调用方法:Thread.sleep(0);

括号内输入要睡眠的毫秒数(1秒等于1000毫秒),调用这个方法会抛出异常,需要抛出或处理,它在睡眠被打断时发生。

原创文章,作者:KEME,如若转载,请注明出处:https://www.506064.com/n/141370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
KEMEKEME
上一篇 2024-10-04 00:18
下一篇 2024-10-04 00:18

相关推荐

  • Python简单数学计算

    本文将从多个方面介绍Python的简单数学计算,包括基础运算符、函数、库以及实际应用场景。 一、基础运算符 Python提供了基础的算术运算符,包括加(+)、减(-)、乘(*)、除…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • Python海龟代码简单画图

    本文将介绍如何使用Python的海龟库进行简单画图,并提供相关示例代码。 一、基础用法 使用Python的海龟库,我们可以控制一个小海龟在窗口中移动,并利用它的“画笔”在窗口中绘制…

    编程 2025-04-29
  • Python樱花树代码简单

    本文将对Python樱花树代码进行详细的阐述和讲解,帮助读者更好地理解该代码的实现方法。 一、简介 樱花树是一种图形效果,它的实现方法比较简单。Python中可以通过turtle这…

    编程 2025-04-28
  • Python大神作品:让编程变得更加简单

    Python作为一种高级的解释性编程语言,一直被广泛地运用于各个领域,从Web开发、游戏开发到人工智能,Python都扮演着重要的角色。Python的代码简洁明了,易于阅读和维护,…

    编程 2025-04-28
  • 用Python实现简单爬虫程序

    在当今时代,互联网上的信息量是爆炸式增长的,其中很多信息可以被利用。对于数据分析、数据挖掘或者其他一些需要大量数据的任务,我们可以使用爬虫技术从各个网站获取需要的信息。而Pytho…

    编程 2025-04-28
  • 如何制作一个简单的换装游戏

    本文将从以下几个方面,为大家介绍如何制作一个简单的换装游戏: 1. 游戏需求和界面设计 2. 使用HTML、CSS和JavaScript开发游戏 3. 实现游戏的基本功能:拖拽交互…

    编程 2025-04-27
  • Guava Limiter——限流器的简单易用

    本文将从多个维度对Guava Limiter进行详细阐述,介绍其定义、使用方法、工作原理和案例应用等方面,并给出完整的代码示例,希望能够帮助读者更好地了解和使用该库。 一、定义 G…

    编程 2025-04-27
  • 2的32次方-1:一个看似简单却又复杂的数字

    对于计算机领域的人来说,2的32次方-1(也就是十进制下的4294967295)这个数字并不陌生。它经常被用来表示IPv4地址或者无符号32位整数的最大值。但实际上,这个数字却包含…

    编程 2025-04-27
  • 制作一个简单的管理系统的成本及实现

    想要制作一个简单的管理系统,需要进行技术选型、开发、测试等过程,那么这个过程会花费多少钱呢?我们将从多个方面来阐述制作一个简单的管理系统的成本及实现。 一、技术选型 当我们开始思考…

    编程 2025-04-27

发表回复

登录后才能评论