sample16_10.java

来自「Java SE 6.0前12-16章示的示例代码,简单易学」· Java 代码 · 共 54 行

JAVA
54
字号
package wyf.jc;
//自定义的线程类
class MyThread extends Thread 
{
	//该引用为资源对象
	private Object resource;
	//无参构造器
	public MyThread()
	{}
	//有参构造器
	public MyThread(Object resource,String name)
	{
		//对线程进行初始化
		this.resource=resource;
		this.setName(name);
	}
	public void run()
	{
		//同步语句块
		synchronized(resource)
		{
            System.out.println(this.getName()
            +"线程访问了资源!!!");
            System.out.println(this.getName()
            +"线程带着锁睡觉去了!!!");
            try
            {
            	Thread.sleep(1000);
            }
            catch(Exception e)
            {
            	e.printStackTrace();
            }
            System.out.println(this.getName()
            +"线程带着锁睡醒后释放了锁!!!");
		}
	}
}
//主类
public class Sample16_10
{
	public static void main(String[] args)
	{
		//创建资源对象
		Object resource=new Object();
		//创建2个线程
		MyThread mt1=new MyThread(resource,"MT1");
		MyThread mt2=new MyThread(resource,"MT2");
		//启动这2个线程
		mt1.start();
		mt2.start();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?