threadsynchronizdemo7.java

来自「JAVA的一些基础教程」· Java 代码 · 共 48 行

JAVA
48
字号
public class ThreadSynchronizDemo7{
	public void 写文件(String 内容){
		System.out.println("进入写文件函数的线程:"+ Thread.currentThread().getName());
		try{
			Thread.sleep(1000*10);
		}catch(Exception e){}
		System.out.println(Thread.currentThread().getName() + "执行完各种其他操作,开始写文件");
		synchronized(this){
			System.out.println("进入写文件同步的线程:"+ Thread.currentThread().getName());
				try{
					Thread.sleep(1000*2);
					System.out.println("线程:"+ Thread.currentThread().getName() + " 写了2秒钟");
				}catch(Exception e){}
				for(int i=0; i< 内容.length(); i++)
						System.out.print(内容.charAt(i));
			System.out.println("\n退出写文件同步的线程:"+ Thread.currentThread().getName() + "\n");
		}
	}

	public void 检查内容(String 内容){
		System.out.println("进入检查内容函数的线程:"+ Thread.currentThread().getName());
			try{
				Thread.sleep(1000);
				System.out.println("经过一秒钟检查,通过,可以写文件");
			}catch(Exception e){}
		System.out.println("\n退出检查内容函数的线程:"+ Thread.currentThread().getName() + "\n");	
	}

	public void 创建两个线程(){
		Runnable r = new Runnable(){
			public void run(){
				检查内容("学JAVA其实是件很容易的事,只要你用心学,花时间");
				写文件("学JAVA其实是件很容易的事,只要你用心学,花时间");
			}
		};

		Thread 线程A = new Thread(r,"线程A");
		Thread 线程B = new Thread(r,"线程B");
		线程A.start();
		线程B.start();
	}

	public static void main(String arg[]){
		ThreadSynchronizDemo7 demo = new ThreadSynchronizDemo7();
		demo.创建两个线程();
	}
}

⌨️ 快捷键说明

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