`
michelecindy
  • 浏览: 173045 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

举例说明线程中sleep方法的使用

    博客分类:
  • Java
阅读更多
package test;

public class TestSync {
	public static void main(String args[]) {
		Target t = new Target();
		new ThreadA(t).start();
		new ThreadB(t).start();
	}
}

class Target {
	String msg = "<我是线程要访问的对象>";

	public void show() {
		char[] msgchars = msg.toCharArray();
		for (int i = 0; i < msgchars.length; i++) {
			System.out.print(msgchars[i]);
			try {
				Thread.sleep(1000);
			} catch (Exception e) {
			}
		}
	}
}

class ThreadA extends Thread {
	Target target;

	public ThreadA(Target target) {
		this.target = target;
	}

	public void run() {
		synchronized (target) {// 同步对象
			target.show();
		}
	}
}

class ThreadB extends Thread {
	Target target;

	public ThreadB(Target target) {
		this.target = target;
	}

	public void run() {
		synchronized (target) {// 同步对象
			target.show();
		}
	}
}
分享到:
评论

相关推荐

    线程编程面试题

    举例说明。 - **同步与异步的概念**: - **同步**:当一个操作开始后,只有这个操作完成之后才能继续执行后面的代码,即同步操作需要等待其完成才会继续执行后续代码。 - **异步**:当一个操作开始后,不需要等待...

    Java多线程-线程间的通信

    **举例说明**: 假设有一个简单的生产者-消费者模型。其中,线程A(生产者)负责生产包子,线程B(消费者)负责消费包子。为了避免线程B在没有包子的情况下消费,以及避免线程A在包子过多的情况下继续生产导致内存...

    Java多线程技术详解

    举例说明: ```java class ThreadTest { public static void main(String args[]) { Thread t = Thread.currentThread(); t.setName("单线程"); t.setPriority(8); // 设置线程优先级 System.out.println("The...

    并发编程面试专题.pdf

    并发编程是现代软件开发中不可或缺的一部分,尤其是在Java语言中...在面试中回答这类问题时,不仅要能够解释理论,还要能够举例说明实际应用场景和解决方案,这样才能向面试官展示出自己深入理解和实践并发编程的能力。

    java笔试题大集合及答案(另附各大公司笔试题)

    举例说明。 答:如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。 当应用程序在对象上调用了一个...

    Java面试宝典2013_PDF版.pdf

    举例说明。 同步是指一个任务的执行需要依赖于另一个任务的完成;异步是指任务的执行不需要依赖其他任务的完成。同步通常在有依赖关系的任务需要按照一定顺序执行时使用,例如线程同步。异步则用于不依赖其他任务...

    黑马面试题总结

    - **等待阻塞**:线程调用`sleep()`或`wait()`方法进入等待阻塞状态。 - **同步阻塞**:线程在获取synchronized同步锁失败时会进入同步阻塞状态。 - **其他阻塞**:如I/O阻塞等。 - **Sleep与Wait的区别:** - ...

    java面试大全

    举例说明。** - **同步**:线程在获得资源前会一直等待,直到资源可用。 - **异步**:线程将请求发送给资源后立即继续执行,当资源就绪时通知线程。 - 同步适用于需要确保操作顺序的情况,如银行转账。 - 异步适用于...

    java面试宝典

    举例说明。** - 同步:等待操作完成后再继续执行,适用于需要立即响应的情况。 - 异步:提交任务后立即返回,适用于耗时较长的操作。 **49. 下面两个方法同步吗?(自己发明)** 问题未给出具体的代码片段,无法...

    面试题大全

    举例说明。 - **同步**:执行过程是阻塞的,直到任务完成才会继续执行后面的代码。 - **异步**:执行过程是非阻塞的,可以在等待任务完成的同时执行其他代码。 - 示例:网络请求可以采用异步方式处理,以提高程序...

    2012-Java面试宝典new版

    **答案**: 不可以直接从`static`方法中调用非`static`方法,因为非`static`方法依赖于对象的实例,而`static`方法是在类级别上执行的。 #### 14. `Integer`与`int`的区别 **问题**: `Integer`与`int`的区别 **...

    java常见面试题

    举例说明。 同步操作意味着在某个任务完成之前,后续任务无法继续执行,例如:线程中的`synchronized`方法。异步操作允许在等待某个任务完成的同时,继续执行其他任务,例如:事件监听器。 #### 49\. 下面两个方法...

    java 面试宝典

    - `StringBuffer`是可变的,可以安全地在多线程环境中使用。 **35. 如何把一段逗号分割的字符串转换成一个数组?** 可以使用`split`方法,例如: ```java String s = "a,b,c,d"; String[] arr = s.split(","); ```...

    进销存系统文档作业例子

    举例说明。 如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。 当应用程序在对象上调用了一个需要...

    Java面试宝典2011版

    举例说明。 - **答案**: - 同步:请求发送后必须等待响应完成。 - 异步:请求发送后无需等待响应完成。 - 使用场景:高并发场景下通常使用异步。 ##### 49.下面两个方法同步吗?(自己发明) - **答案**:...

    Java面试宝典

    ### Java面试宝典知识点解析 #### 一、Java基础部分 **1.... java 中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop() 和 suspend() 方法为何不推荐使用?** - 可以通过继承 `Thread...

Global site tag (gtag.js) - Google Analytics