`

线程试题

 
阅读更多
package com.test.thread;

/**
* 子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次, 接着再回到主线程循环100次;如此循环50次。
*
* @author yhd2
*
*/
public class Test {
public static void main(String[] args) {
new Test().init();
}

private void init() {
final Bussiness buss = new Bussiness();
//子线程
new Thread() {
@Override
public void run() {
for (int i = 0; i < 50; i++) {
buss.sub(i + 1);
}
}

}.start();
//主线程
for (int i = 0; i < 50; i++) {
buss.main(i + 1);
}
}
}

class Bussiness {
private boolean flag = true;

public synchronized void sub(int seq) {
if (!flag) {
try {
this.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
for (int i = 0; i < 10; i++) {
System.out.println("sub sequence of " + seq + " loop for " + i);
}
flag = false;
this.notify();
}

public synchronized void main(int seq) {
if (flag) {
try {
this.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
for (int i = 0; i < 100; i++) {
System.out.println("main sequence of " + seq + " loop for " + i);
}
flag = true;
this.notify();
}
}
分享到:
评论

相关推荐

    java多线程试题.pdf

    Java多线程试题涉及到许多Java并发编程的核心概念。在Java中,线程是程序执行的独立路径,可以并发运行,从而提高系统资源的利用率。以下是对试题内容的详细解释: 1. 单处理机上,虽然硬件只有一个CPU,但通过时间...

    java多线程试题.doc

    java多线程试题.doc

    Java工程师线程试题

    Java线程是并发编程的重要组成部分,它允许程序在同一时间执行多个任务。在Java中,线程的使用可以提高系统的执行效率,减少处理器的空转时间和上下文切换的时间,但并不一定能提高程序代码的可读性。以下是根据题目...

    java多线程试题[参考].pdf

    6. **线程组**:Java线程可以组织在线程组中,线程创建时默认属于父线程的线程组,但不能在创建后随意改变线程组。 7. **线程同步**:`synchronized`关键字用于锁定对象,确保对共享资源的访问是互斥的,防止数据...

    java多线程试题_答案.pdf

    Java多线程是Java编程中的重要概念,它允许程序同时执行多个任务,提高了程序的效率和响应速度。本文将详细解析Java多线程的相关知识点。 一、选择题解析 1. 线程并不是程序,而是一个程序的单个执行流。多线程指...

    java多线程试题[汇编].pdf

    线程状态之间的转换受到线程调度策略的影响,例如,`start()` 使线程从新建变为就绪,`sleep()` 使线程从运行变为等待,`join()` 使线程从就绪变为阻塞,`notify()` 或 `notifyAll()` 使等待的线程变为就绪等。...

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

    **CC++多线程编程**是现代软件开发中的重要组成部分,尤其在高性能计算、服务器端应用和实时系统中,多线程技术能充分利用多核处理器的资源,提高程序的执行效率。以下是一些关于CC++多线程编程的核心知识点: 1. *...

    华清进程资料总结(含代码、试题)

    9. **试题解析**:资料中的试题可能涉及对进程线程的理解、同步互斥的实现、死锁的预防与检测,以及多线程编程的实际应用等,通过解答这些题目可以巩固理论知识并提高实践能力。 华清的这份资料结合代码实例和试题...

    linux 多线程编程 2

    linux 多线程编程 2

    C# 多线程基础练习

    C# 多线程基础练习,需要学习多线程的小伙伴们快来下载吧

    多线程面试

    #### 六、试题最终代码示例 根据题目要求,我们可以设计以下伪代码: ```c #include #include int g_Flag = 0; void *thread1(void *arg) { printf("this is thread 1\n"); g_Flag = 1; pthread_exit(NULL)...

    iOS开发试题大全:笔试面试一千题[多线程篇]

    分为这套资料共分为"语法","常识","界面","iOS","操作","数据结构","多线程","网络","多媒体","安全"十个篇章。 大家可以利用这些试题加强iOS开发的理论知识,当然对面试也是很有帮助的! 试题参考答案在每篇的最后...

    用java写的一个多线程的c/s客户端的考试系统

    Java编写的多线程C/S客户端考试系统是一个典型的分布式应用程序,它将客户端(Client)与服务器端(Server)分开,实现高效、稳定的考试服务。在这个系统中,Java语言以其跨平台性和丰富的类库成为了开发首选。下面...

    jsp试题决定是否实现Servler的单线程模式

    jsp在Jsp指令中errorPage(“url”)的意思

    2015综合题信号量.txt

    某网络系统有N个工作线程和1个调度服务进程,作线 星初始化时 守候队列中等待;当用户请求到达时,由服务进程唤醒工作线程执;若工线程守候队列为空则则检查请求等待队列是否已满(最多可存放M个用户请求),未满则将...

    蚂蚁金服上机试题.docx

    "蚂蚁金服上机试题分析" 通过分析蚂蚁金服的上机试题,...这些试题涵盖了算法、数据结构、多线程、锁、异常设计、文本字符处理、逻辑思维、编程基础、代码风格等多个知识点,考察了应试者的编程能力和问题解决能力。

    Linux线程编程之生产者消费者问题

    Linux线程编程中的生产者消费者问题是多线程编程中一个经典的同步问题,它涉及到线程间的协作和资源的共享。生产者线程负责生成数据并放入队列,而消费者线程则从队列中取出数据进行处理。在这个过程中,如何保证...

    Java测试试题一套

    【Java测试试题解析】 ...以上是对Java测试试题的详细解释,涵盖了Java基础语法、多线程、事件处理、异常处理、类和对象、访问修饰符等相关知识点。这些内容对于理解和掌握Java语言的基本概念和应用至关重要。

Global site tag (gtag.js) - Google Analytics