我想实现两个子线程之间互相通讯的功能

private void Thread2() {
new Thread() {
@Override
public void run() {
super.run();
int i = 0;
Looper.prepare();
handlerOne = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case MSG_JJ:
Log.e("m_tag", "收到了Thread3发来的消息:");
break;
}
}
};
for (int j = 0; j < 20; j++) {
i++;
}
if (i > 10) {
if (null != handlerOne) {
Log.e("m_tag", "Thread2" + Thread.currentThread());
handlerOne.sendEmptyMessage(MSG_HH);
}
}
Looper.loop();
}
}.start();
}

private void Thread3() {
    new Thread() {
        @Override
        public void run() {
            super.run();
            int i = 0;
            Looper.prepare();
            handlerTwo = new Handler() {
                @Override
                public void handleMessage(Message msg) {
                    super.handleMessage(msg);
                    switch (msg.what) {
                        case MSG_HH:
                            Log.e("m_tag", "收到了Thread2发来的消息:");
                            break;
                    }
                }
            };
            for (int j = 0; j < 50; j++) {
                i++;
            }
            if (i > 25) {
                if (null != handlerTwo) {
                    Log.e("m_tag", "Thread3" + Thread.currentThread());
                    handlerTwo.sendEmptyMessage(MSG_JJ);
                }
            }
            Looper.loop();
        }
    }.start();
}

    代码如上所示,log打印的:11-20 15:48:33.920 5190-5190/? E/m_tag: btn2

11-20 15:48:33.920 5190-5206/? E/m_tag: Thread2Thread[Thread-152,5,main]
11-20 15:48:33.920 5190-5208/? E/m_tag: Thread3Thread[Thread-153,5,main]

就是发不出去,或者是发出去了没接受到???

1个回答

qq_36522073
qq_36522073 谢谢分享,但是我这代码错在哪里?
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
子线程和子线程之间的通信

子线程和子线程之间的通信 package lib.com.myapplication; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; importandroid.support.v7.app.AppCompatActivi

多线程之间实现通讯

熟练多线程之间通讯Wait、Notify、NotifyAll用法 需求:分别创建两个线程,名称为A和B,A线程负责写操作,也就是不停的写入名称和性别。 B线程负责读取操作, 也就是不停的读取现在写入的名称和性别, 看图演示 2.3代码实现基本实现 package ReadInput; class Res { public String userSex; publ

Android两个子线程之间的通信

Android中两个子线程的通信demo

android 两个应用之间的通信与调用

android 里面的两个APK通信的方式有哪些? 总结了一下:

HandlerTest

Android平台中,使用Looper和Handler机制,实现子线程之间的通讯。模拟子线程进行“文件传输”功能。

VM两个虚拟机之间的通讯测试

文章一 https://blog.csdn.net/mijichui2153/article/details/80918285 中成功安装两个虚拟机,而且他们之间可以互ping。文章二 https://blog.csdn.net/mijichui2153/article/details/80918813 中用两个xshell终端实现对init0、init1两个虚拟机的远程控制。接下来对两个虚拟机之...

VC++利用消息机制在两个EXE程序间通信

VC++利用消息机制在两个EXE程序间通信,在发送端发送消息,终端可以即时监听并接收到消息,然后给出提示。通过本程序可了解一些程序间数据交换的相关技巧。

两个app之间通讯

前言 假设需求是这样的:由一个app1跳转到app2之后,app2完成某项任务之后,怎么把app2的完成信息传到app1(自己的程序是app1),传的是什么类型的数据,怎么进行解析? 逻辑 本文章使用TestApp1作为第一个app的URL Schemes,TestApp2为第二个app的URL Schemes。 TestApp1工程配置 如下图,要适配iOS9.0:

iOS--多线程GCD线程间通信--07

1.// 需要设置按钮的image和backgroundImage,建议先把按钮类型改为custom,才能保证设置成功 // 属性名不能以new开头 // 只有在init开头的构造方法中,才允许对self进行赋值#define HMGlobalQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) #define HMM

通过JS实现两个页面之间的通信

今天要给大家说的是两个不同页面之间的通信,通过一个拖拽demo来模拟; 首先,写好基础的拖拽代码: window.onload = function() { var oDiv = document.getElementById('div'); oDiv.onmousedown = function(ev) { var ev = wind

JS实现两个页面之间的通信

两个不同页面之间的通信,通过一个拖拽demo来模拟; 首先,写好基础的拖拽代码: [html] view plain copy script>      window.onload = function() {          var oDiv = document.getElementById('div');          oDiv.

python 多线程中子线程和主线程相互通信

需求:主线程开启了多个线程去干活,每个线程需要完成的时间不同,但是在干完活以后都要通知给主线程下面上代码:#!/usr/bin/python # coding:utf8 ''' 多线程和queue配合使用,实现子线程和主线程相互通信的例子 ''' import threading __author__ = &quot;Kenny.Li&quot; import Queue import time import r...

Android分析主线程与子线程,以及子线程之间相互通信

通过查源码来不断的学习Android的消息发送机制,一直在使用但对此具体如何实现的从未探索过,希望通过这段时间的不断学习更加深入了解。

Android Fragment之间相互通信

Android Fragment之间相互通信

vbox中如何设置两个虚拟机之间的通讯

其中关于internel模式是我所想用的,实验了一下,可以用。但是需要添加一些东西。我用红色字体已经标明 转自:http://blog.sina.com.cn/s/blog_5d9c20070100lq7i.html 设置网卡模式为intnet 设备->更改网络链接。 设置两个ip在同一网段 在A虚拟机上sudo ifconfig eth0 192.1

【多线程】三种方案实现多线程之间相互协作的通信

在并发编程中,经常会遇到多个线程之间需要相互协作的情况,即并不是多个线程同时执行,而是按照一定的顺序循环执行的情况。 那么怎样去实现这种效果呢?这里介绍三种方案。 这里都以子线程循环10次,然后主线程循环10次,然后往复循环50次的思路来做例子。 一、synchronized+notify+wait public class communication01 { public stat

在两个ViewController之间通信的方式(转帖整理)

一般方法 1)采用代理模式 子viewController设计代理协议,定义协议接口,父viewController 实现协议接口,实现子viewController 退出时将相关数据更新到父视图。 常用程度 ***** 五星 2)采用ios的消息机制 父viewcontroller注册消息,子viewcontroller发送消息,触发父viewcontroller的消息处理。 常用程

WebService之间相互通信的问题

最近对已完结项目进行部署,遇到了一些以前没有想到过的问题,主要有两个,一个是WebService服务间相互通信的问题,另一个是WebService中global.asax的一些知识。下面进行总结: 首先是一个WebService如何调用另外一个WebService,在VS2015中,只要在项目上右键,在菜单列表中添加服务引用就好。url写调试的时候地址栏中的地址就可以。但在部署时需要动态的

AIDL实现跨APP通信(双向通信)

某天,接到了一人任务要在两个app互相传递一些消息,上网查了以后发现有几种方式。第一是广播、第二是AIDL,由于初出茅庐全不会就选择了AIDL。。。下面简单粗暴的开始贴代码好了。也是得到了网上的一些借鉴,若有雷同,嗯你懂的。 1.我们需要先建立AIDL文件。值得一提的是,我们要在main下建立一个专门用来放AIDL文件的包。非常重要! 其中,AIDLClient.aidl是客户

利用主线程与子线程间的消息通讯,实现任务处理队列

http://hi.baidu.com/dushm/item/14eb022b30a21df950fd873b From: http://www.delphibbs.com/keylife/iblog_show.asp?xid=27182 主题:利用主线程与子线程间的消息通讯,实现任务处理队列. 目标:主线程只需发命令(消息)通知子线程需要处理的内容,而不用管任务的处理进度,可以

两个SWF之间的通信

服务端FLASH客户端FLASH在两个SWF之间的通信通常使用LocalConnection来传递信息,但只能运行于同一台客户端计算机上的SWF之间进行通信,SWF文件可以在不同的应用程序中。首先编写服务端程序sevSide类,先在函数中创建一个LocalConnection类对象conn并指定回调对象为this,类中包括一个turnMC方法来接收客户端传来的信息控制mc的缩放。package { import flash.display.MovieClip; import flash.net.LocalC

使用Handler来对线程之间传值

  在安卓中新建一个线程,一般我们会在遇到耗时的操作的时候,将耗时的操作放到新开辟的线程当中,然后将产生的数据传到主线的时候就要用到Handler来处理了,handler使用Message来传递通信,然后将值传过去。   public class MainActivity extends Activity { Button btn; int j; @Override protected vo...

Android之用Handler实现主线程和子线程互相通信以及子线程和子线程之间的通信

1、上代码 activity_main.xml文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" an

基于TCP 实现客户端之间通信【1】

前段时间学习了基于TCP协议及duoxiancheng实现服务器与一个客户端或多个客户端之间通信以及客户端之间互相通信

LINUX 实现两个进程之间的通信

使用fork创建进程,实现两个进程之间的通信,一个进程把一个变量的值加5,另一个进程输出该变量的值。 mmap() sem_t: #include #include #include #include #include using namespace std; int *cnt; sem_t *m1=NULL,*m2=NULL; int main() { m1

MFC学习笔记——多窗口之间的通信

具体步骤 新建一个工程,名称为“MultiWindows”,使用 Unicode 编码。具体界面可以如下: 首先添加一个新的窗口并将界面布局为下图,具体方法如下: 在添加好窗口之后还要为这个窗口添加一个类文件,具体方法可如下: 添加完成之后就可以添加消息功能了,这次有所不同的是,在以往的文章里都是只有一个窗口,而消息也都是在一个窗口内。如今变成了

JavaScript实现父子两个窗口之间互相通信

JavaScript里面的Dom编程里面的window对象有很多的方法能实现很多特殊的效果,下面我们来列举一些方法,然 后做出一个小案例,就是使用Window对象的opener方法实现父子两方的窗口的对话! 首先是父 窗口的代码 test4.html function test(){//moveto是按照当前屏幕定位窗口,

iOS开发——多线程、NSThread、gcd、线程间通信

1.基础 1.1什么是进程 什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ、Xcode,系统就会分别启动2个进程 通过“活动监视器”可以查看Mac系统中所开启的进程 1.2什么是线程 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)

Android 使用socket实现两个真机之间的通信

1、使用Socket进行两个手机之间的通信需要安装两个不同的代码文件:服务端和客户端   分别进行安装2、创建局域网:两个手机同时连一个WiFi或者两个手机进行热点和WLAN连接3、客户端连接另一个手机IP时把另一个手机的IP改成静态IP(3的第二种方法做这个步骤)下面上代码分客户端的和服务端的,布局文件textview、Editview、Button不上代码了,不懂socket通信原理的可以在百...

JavaScript 中的多线程通信

本文参考《Html 5 与 Css 3 权威指南》      在Html 5诞生之后,我们可以使用javascript来实现多线程处理。H5 新增了一个web workers api,使用这个API,用户可以很容易地创建在后台运行的线程,H5 中被称为workder ,如果将费时比家长的操作放到后台去执行,对用户在界面的操作就完全没有影响了。n   创建后

java socket多客户端之间通信

通过服务器,客户端之间可以互相通信,既可以群发,也可单独发送

Android:使用Handler在线程之间通信

安卓程序的Handler通信是为了解决线程之间的通信问题提出的一个机制,网上对这个机制的讲解很多,但是都不能让我很清楚的理解这个东西,所以就自己探索了一下。希望能够对跟我一样想寻找Handler“真谛”的同学有帮助。

两块板子之间的stm32spi通信例程

本例程适合于刚开始接触stm32spi的程序员 本程序配备有详细的注解

如何在C#中实现两个程序的通信?

两种方法,一种是把数据写入到文件,另一个程序去读!  第二种方法,用socket,自己定义一个通道,相互间通讯,就好像通过网络通讯一样,但其实是在同一台电脑上!前提是要有Tcp/Ip环境!而且比较适合对数据及时性要求较高的。  以上两种方法都是比较简单的,我以为。  最好是去看看有没有可能用全局Dll调用的方法,进行进程间的共享!  如果两个程序之间只是数据通信,可以采用以下方法:   1

多个线程之间是如何进行通信的呢?

在现实应用中,很多时候都需要让多个线程按照一定的次序来访问共享资源,例如,经典的生产者和消费者问题。这类问题描述了这样一种情况,假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中的产品取走消费。如果仓库中没有产品,则生产者可以将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止。如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再

如何让处于两台机器上的虚拟机进行通讯

先转一篇文章:两台虚拟机上的linux系统间的通讯 http://www.2cto.com/os/201303/194292.html

delphi7两个应用程序间的通信

用delphi7实现两个独立的exe程序之间如何发送信息的简单示例。

Java里如何实现线程间通信?

正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。 本文涉及到的知识点:thread.join(), object.wait(), object.notify(), CountdownLatch, CyclicBarrier, FutureTask, Callable 等。 下面我从几个例子作为切入点

C#中实现两个程序的通信

在Windows下的两个进程之间通信通常有命名管道、消息队列、共享内存等实现方式,这篇文章要讲解的是使用Windows的API来实现简单的进程间通信。对于接收消息,只需要重写DefWndProc函数即可,对于发送消息,写一个发送消息MsgHandler来实现。 首先是MsgHandler类 using System; using System.Text; using System.Wi

两个程序进程之间的通信

两个程序进程之间的通信 里面有进程间通信的各种方式的见解, 并有一些代码例子

管道流实现两个线程间通信

Java中实现多线程间的通信主要通过两种方式:共享变量和管道流。共享变量一般通过加锁的方式来保证线程的安全性,在之前的多篇博客中已提供了多个例子,这里不赘述。知道在使用锁的过程中,注意锁作用的对象以及锁的作用区域就可以了。

子线程与主线程之间的通信

1, 进程和线程 通俗的讲, 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 进程和线程的主要差别在于它们是不同的操作系统资源管理方式。 1,进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。 2,线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等

MQ实现两个应用系统之间的通信-----实际操作(二)

使用IBM WebSphere MQ实现两个应用系统之间通信。两个应用系统都必须安装MQ服务器,只有双方都安装了MQ同时也创建队列管理器,而且双方都启动MQ的队列管理器才可以实现通。 这里以A  B 作为通信双方。 A方创建队列管理器和相应的队列用于通信 #创建队列管理器 env MQSPREFIX=/var/mqm/ crtmqm -ld /var/mqm/qmgrs/log -lc -

C++中进程间相互通信的十一种方法

进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:   一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方   另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的

两种系统间通信方式的比较

对分布式java应用来说,如何实现系统间通信?常见的两种典型方法如下:(整理自bluedavy的《分布式java应用:基础和实践》) 系统间通信方式 基于消息 基于远程调用 协议 TCP/IP、UDP/IP HTTP java实现 TCP/IP+BIO:socket和serverSocket TCP/IP+NIO:SocketChann

Android 使用socket实现两个真机之间的通信

Android 通过Socket实现两个真机之间的通信 1、使用Socket进行两个手机之间的通信需要安装两个不同的代码文件:服务端和客户端 分别进行安装 2、两个手机进行热点和WLAN连接,创建局域网。至于哪个是开热点有没有区别我也没试,不过我是客户端的那个手机开的热点 3、客户端连接另一个手机IP时把另一个手机的IP改成静态IP 代码下载:https://github.com/845774766/socket

请问在两个程序之间如何通信?

进程间通讯

两个不相关Activity之间的通信

同一个应用内两个不相关的activity 例如A进入B,B进入C,C进入D 或者A进入B,C进入D,那么A和D可以看做两个不相关的activity.rn假如有这样一个需求,在D activity中按一个按钮,A activiy必须立即更新数据,那么可以的方法有哪些呢,我能想到的有以下几种:rnrn第一种方式:rn1 广播rn这个就不细说了,Android的基础,百度一下就知道。rn2 回调rn如果

两个APP之间怎么调用?

(1):通过显示Intent 启动    首先:配置好B app 的action,即AndroidManifest.xml中声明      A app 调用需要知道B app对应的action 通过如下方法调用: Intent Intent = new Intent(); intent.setClassName("com.itlanbao.app", "com.itlanbao

终端通过两台路由器相互通信(静态路由设置)

一、示意图 二、IP规划 1) 配置终端IP、子网掩码、网关          PC0:192.168.10.100  255.255.255.0  192.168.10.1          PC1:10.185.10.100  255.255.255.0  10.185.10.1 2) 配置路由端口的IP地址。    Router0 f0/0:ip add

立即提问
相关内容推荐