package com.mhm.test1; /** * 子线程跑10次,主线程跑5次,然后子线程再跑10次,主线程再跑5次,往返3次 * @author Mahone * */ public class Test2 { public static void main(String[] args) { Test2 t2 = new Test2(); t2.init(); } private void init() { final Business b = new Business(); Thread t = new Thread(new Runnable() { @Override public void run() { for (int i = 0; i <3; i++) { b.sub(i); } } }); t.start(); for (int i = 0; i <3; i++) { b.main(i); } } /** * 业务类 * @author Administrator * */ class Business { // 默认subFlag为true,子线程可执行 private boolean subFlag = true; public synchronized void sub(int loop) { // 如果子线程不可执行,则当前线程等待,CPU给其他线程使用 if (!subFlag) { try { this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } for (int i = 0; i < 10; i++) { System.out.println("loop: " + loop + " sub-" + Thread.currentThread().getName()); } // 执行完子线程,子线程flag设为false subFlag = false; // 通知其他线程开始响应 this.notify(); } public synchronized void main (int loop) { if (subFlag) { try { this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } for (int i = 0; i < 5; i++) { System.out.println("loop: " + loop + " main-" + Thread.currentThread().getName()); } subFlag = true; this.notify(); } } }
相关推荐
下面小编就为大家带来一篇C#子线程执行完后通知主线程的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
子线程更新主线程数据(再谈多线程)
Visual C++源代码 22 如何从子线程更新主线程数据Visual C++源代码 22 如何从子线程更新主线程数据Visual C++源代码 22 如何从子线程更新主线程数据Visual C++源代码 22 如何从子线程更新主线程数据Visual C++源代码...
java 子线程通过观察者模式通知主线程
c#子线程如何读取及设置主线程ui的值,自己录的一个小视频,方便理解,比较菜鸟的方法,请勿喷!
C#子线程刷新主线程示例源码 功能介绍: 使用线程操作 1、实时显示当前时间 2、输入加数和被加数,自动出现结果 技术特点: 使用了多线程实现了子线程刷新主线程 ,使用委托刷新主线程。 注意: 开发环境为...
子线程任务发生异常,主线程事务如何回滚
本资源详细介绍了主线程和子线程之间的通信过程,通过实例讲解了参数如何传递
Qt的子线程无法直接更新主UI,需要发送信号到主线程进行更新,我用的QTableWidget展示数据。
NULL 博文链接:https://lvwenwen.iteye.com/blog/1847561
多线程显示进度条,子线程耗时10s,主线程在这10s中不停的刷新、显示,进度条界面
C# Winfrom必须掌握的技术,主线程显示数据,子线程获取数据,这是我做项目实际用到的技术。
Unity除了一些基本的数据类型,几乎所有的API都不能在子线程中调用,如果项目中有一段很耗时操作,unity可能会出现“卡死...因此针对这个问题再加上查找了一些资料,弄出了一个小工具,可以子线程与主线程的相互访问。
Handler消息传递详解,子线程到子线程,主线程到子线程,子线程到主线程 三种消息,Looper,Handler工作机制详解 https://blog.csdn.net/shoneworn/article/details/80447651
1。 子线程操作主线程的示例 2。 全部源代码
Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程执行完的五种方法 Java多线程--等待所有子线程...
android 中的五中子线程和主线程交互方式,可针对整个activity的UI或者单个View
Java多线程--让主线程等待所有子线程执行完毕
通过窗口传递让主线程触发FIRE事件(子线程不能触发)