`

0810-线程同步题

阅读更多

0810-线程同步题:

启动4个线程,向4个文件A,B,C,D里写入数据,每个线程只能写一个值。
线程1:只写1
线程2:只写2
线程3:只写3
线程4:只写4
4个文件A,B,C,D。
程序运行起来,4个文件的写入结果如下:
A:12341234。。。。
B:23412341。。。。
C:34123412。。。。
D:41234123。。。。

 

 

import java.io.*;

class FThread implements Runnable{
	int iStart;
	String file;
	public FThread(int iStart,String file){
		this.iStart=iStart;
		this.file=file;
		
	}
	
	public void writeFile(){
		try{
			FileWriter fw=new FileWriter(file);
			int wi=iStart;
			int count=0;
			while(count<10){
				if((wi=wi%5)==0){        //注意这里
					wi=1;
				}
				fw.write(new Integer(wi).toString()); //注意这里
				wi++;
				count++;
			}	
			fw.flush();
			fw.close();
		
		}catch(Exception ex){
			ex.printStackTrace();
		}
		
	}
		
	public void run(){
		this.writeFile();
	}
	
}


public class GThread{
	public static void main(String[] args){
		FThread ft1=new FThread(1,"1.txt");
		FThread ft2=new FThread(2,"2.txt");
		FThread ft3=new FThread(3,"3.txt");
		FThread ft4=new FThread(4,"4.txt");
		
		Thread t1=new Thread(ft1);
		Thread t2=new Thread(ft2);
		Thread t3=new Thread(ft3);
		Thread t4=new Thread(ft4);
		t1.start();
		t2.start();
		t3.start();
		t4.start();			
	}

}

 

分享到:
评论

相关推荐

    NET面试题-多线程编程与线程同步1

    【标题】:“NET面试题-多线程编程与线程同步1” 【描述】:本篇文章主要探讨.NET框架下的多线程编程与线程同步相关的面试问题,包括线程与进程的区别、GUI线程访问控件限制、后台线程与前台线程、锁的使用以及线程...

    线程同步面试题深入解析

    线程同步是多线程编程中的关键概念,用于解决并发执行时可能出现的数据竞争问题,确保对共享资源的正确访问和管理。在Java中,线程同步主要通过`synchronized`关键字来实现,防止多个线程同时访问临界区,以避免出现...

    java常见面试题---线程篇

    在Java编程领域,线程是并发处理的核心概念,它允许程序在同一时间执行多个任务。面试中,线程问题经常被用来测试候选人的并发处理能力和对Java内存模型的理解。以下是一些关于Java线程的常见面试知识点,这些内容...

    java私塾面试题----线程和JSP及EJB部分1

    #### 三、线程同步与生命周期管理 **7. 线程同步方法** - **`wait()`**:使线程等待,并释放锁。 - **`sleep()`**:使线程睡眠一段时间,不释放锁。 - **`notify()`**:唤醒等待池中的一个线程。 - **`...

    Java多线程-多线程知识点总结和企业真题

    6. **线程的同步机制带来的问题:死锁**: - 发生死锁时,两个或多个线程各自持有一个资源但又等待对方释放资源。 - 解决方法:避免循环等待、使用超时机制等。 7. **Lock的使用**: - 使用`ReentrantLock`类来...

    Java多线程-线程安全问题练习题

    1. **同步机制**:包括`synchronized`关键字和`Lock`接口,用于控制对共享资源的访问,确保同一时间只有一个线程可以执行特定代码块。 2. **volatile关键字**:用于标记共享变量,确保所有线程都能看到该变量的最新...

    Java面试题-线程多线程.pdf

    - **ReentrantLock**:是 Java 提供的可重入互斥锁,比 `synchronized` 更灵活,支持公平锁、非公平锁,以及条件变量(Condition),可以实现更复杂的线程同步策略。 理解并掌握这些线程多线程的概念和用法,对于...

    JAVA多线程练习题答案。

    这些题目涵盖了 JAVA 多线程编程的基本概念和技术,包括线程的生命周期、线程同步、线程状态、线程优先级、线程安全等方面。 一、单项选择题 在单项选择题中,我们可以看到各种关于 JAVA 多线程编程的基本概念和...

    java经典多线程面试题

    - 线程同步(Synchronization)是为了防止多个线程同时访问共享资源而产生的数据不一致问题。在Java中通过关键字synchronized来实现同步。 - 线程互斥(Mutual Exclusion)是指多个线程在同一时刻只有一个能进入...

    多线程面试题

    本文将围绕“多线程面试题”这一主题,深入探讨相关概念、技术及其应用。 1. **线程的概念**:线程是程序执行的最小单位,一个进程可以有多个线程同时执行任务,提高了程序的运行效率。 2. **Java中的线程创建方式...

    java-java面试题库整理-基础-JVM-线程并发-框架等.zip

    - 同步机制:掌握synchronized关键字,了解锁的概念,包括可重入锁、死锁、活锁和饥饿状态。 - 线程池:熟悉ExecutorService和ThreadPoolExecutor,以及线程池的配置和优化。 - 并发工具类:了解...

    day06 【线程、同步】-笔记.pdf

    这些示例有助于理解Java中多线程运行的原理以及如何创建线程和控制线程同步。 通过理解上述知识点,我们可以更好地设计和实现多线程程序,确保程序在并发环境下既能够高效地执行多任务,也能够正确地处理共享数据,...

    .net开发人员面试题-多线程.pdf

    ".net开发人员面试题-多线程" .NET 多线程是现代 CPU 多核背景下的技术,能够充分发挥 CPU 资源。多线程问题可以用来评估面试者的技术深度和知识广度。 多线程的概念 多线程是一种编程技术,允许多个线程同时执行...

    Java高级特性 - 多线程练习题.zip

    为了解决这个问题,Java提供了多种线程同步机制,包括`synchronized`关键字、`volatile`关键字、`java.util.concurrent`包中的工具类等。例如,`synchronized`可以保证同一时间只有一个线程访问特定代码块,防止竞态...

    java基础多线程练习题(1)

    在实际应用中,我们还需要关注线程同步和通信问题,以避免竞态条件和死锁。Java提供了多种同步机制,如`synchronized`关键字、`wait()`、`notify()`和`notifyAll()`方法,以及`java.util.concurrent`包下的高级工具...

    JavaSE常见面试题-线程篇.pdf

    11. **暂停线程**:可以使用`Thread.sleep()`方法让线程暂停一段时间,或者在同步代码块中调用`wait()`方法,但注意`wait()`需要捕获InterruptedException。 线程在Java编程中扮演着重要角色,理解和掌握线程的原理...

    73道Java面试题合集-多线程与进程

    5. **线程同步**: - `synchronized`关键字:用于控制多线程对共享资源的访问,实现互斥和可见性。 - `volatile`关键字:确保多个线程对共享变量的修改可见性,但不保证原子性。 - `Lock`接口及实现:提供比`...

    CC++多线程编程练习题大全

    2. **线程同步与互斥**:为避免多线程间的竞态条件,需要使用同步机制。C++提供了`std::mutex`来实现互斥锁,保证同一时间只有一个线程访问共享资源。`std::lock_guard`是RAII(Resource Acquisition Is ...

    Java软件开发实战 Java基础与案例开发详解 18-6 练习题 共5页.pdf

    12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 ...

    Java软件开发实战 Java基础与案例开发详解 17-6 练习题 共4页.pdf

    12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 ...

Global site tag (gtag.js) - Google Analytics