`
michelecindy
  • 浏览: 169692 次
  • 性别: 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();
		}
	}
}
分享到:
评论

相关推荐

    线程的创建与撤销

    (2)掌握Windows系统环境下线程的创建与撤销方法 2 实验准备知识 (1)线程创建 CreateThread()完成线程的创建。它在调用进程的地址空间上创建一个线程,执行指定的函数,并返回新建立线程的句柄。 原型: ...

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

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

    进销存系统文档作业例子

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

    python基于winpcap的抓包和发包

    在入口函数中增加了脚本使用说明和举例! s = SNIFFER(interface)#设置待监听的网卡 s.start()#设置启动线程开始监听网卡 time.sleep(10)#主线程休眠10秒钟 s.stop()#停止监听网卡 联系我:jetmie@126.com

    java面试宝典2012版.pdf

    举例说明。 49. 下面两个方法同步吗?(自己发明) 50、多线程有几种实现方法?同步有几种实现方法? 51、启动一个线程是用run()还是start()? . 52、当一个线程进入一个对象的一个synchronized方法后,其它线程...

    java 面试题 总结

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

    JAVA面试题最全集

    试举例说明一个典型的垃圾回收算法? 42.请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来. 43.请写一个java程序实现线程连接池功能? 44.给定一个C语言函数,要求实现在java类中...

    超级有影响力霸气的Java面试题大全文档

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

    net学习笔记及其他代码应用

    24.在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。 答:string str = null 是不给他分配内存空间,而string str = \"\" 给它分配长度为空字符串的内存空间。 25.请详述在...

    java基础题 很全面

    举例说明。 9 15. abstract class和interface有什么区别? 9 16. heap和stack有什么区别。 9 17. Static Nested Class 和 Inner Class的不同。 9 18. 什么时候用assert。 9 19. GC是什么? 为什么要有GC? 9 20. short ...

    Java面试宝典2010版

    举例说明。 49. 下面两个方法同步吗?(自己发明) 50、多线程有几种实现方法?同步有几种实现方法? 51、启动一个线程是用run()还是start()? . 52、当一个线程进入一个对象的一个synchronized方法后,其它线程...

    最新Java面试宝典pdf版

    举例说明。 32 49. 下面两个方法同步吗?(自己发明) 33 50、多线程有几种实现方法?同步有几种实现方法? 33 51、启动一个线程是用run()还是start()? . 33 52、当一个线程进入一个对象的一个synchronized方法后,...

    java面试宝典

    156、在jsp:useBean语法中使用beanName有何好处? 37 157、当我使用时,在浏览器的地址栏没有改变? 37 158、如何转换JSP 0.9版本的文件到JSP1.1? 37 160、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么...

    java面试题

    举例说明。 11 14. 简述synchronized和java.util.concurrent.locks.Lock的异同 ? 11 15. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 11 16. abstract class和interface...

    Java面试笔试资料大全

    举例说明。 32 49. 下面两个方法同步吗?(自己发明) 33 50、多线程有几种实现方法?同步有几种实现方法? 33 51、启动一个线程是用run()还是start()? . 33 52、当一个线程进入一个对象的一个synchronized方法后,...

    Java面试宝典2012版

    举例说明。 32 49. 下面两个方法同步吗?(自己发明) 33 50、多线程有几种实现方法?同步有几种实现方法? 33 51、启动一个线程是用run()还是start()? . 33 52、当一个线程进入一个对象的一个synchronized方法后...

    Java面试宝典2012新版

    举例说明。 32 49. 下面两个方法同步吗?(自己发明) 33 50、多线程有几种实现方法?同步有几种实现方法? 33 51、启动一个线程是用run()还是start()? . 33 52、当一个线程进入一个对象的一个synchronized方法后,...

    千方百计笔试题大全

    156、在jsp:useBean语法中使用beanName有何好处? 37 157、当我使用时,在浏览器的地址栏没有改变? 37 158、如何转换JSP 0.9版本的文件到JSP1.1? 37 160、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么...

    Java面试宝典-经典

    举例说明。 32 49. 下面两个方法同步吗?(自己发明) 33 50、多线程有几种实现方法?同步有几种实现方法? 33 51、启动一个线程是用run()还是start()? . 33 52、当一个线程进入一个对象的一个synchronized方法后,...

Global site tag (gtag.js) - Google Analytics