接受线程ide
/** * description: * * @author: dawn.he QQ: 905845006 * @email: dawn.he@cloudwise.com * @email: 905845006@qq.com * @date: 2019/12/5 12:55 AM */ public class DataHandler { // 数据副本 private String mData; public DataHandler() { initSwithThread(); } /** * 发送数据,供外部调用 * @param data */ public void sendData(String data) { // 拷贝数据 mData = data; } private void initSwithThread() { new Thread(new Runnable() { @Override public void run() { while(true) { if(null != mData && mData.length() > 0) { System.out.println("process data, run in thread : " + Thread.currentThread().getName() + ", data = " + mData); // 数据发送后,清除数据副本mData mData = null; } // 为了可以清晰看清结果这里让thread休眠1s try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }, "ThreadB").start(); } }
发送线程线程
/** * description: * * @author: dawn.he QQ: 905845006 * @email: dawn.he@cloudwise.com * @email: 905845006@qq.com * @date: 2019/12/5 12:55 AM */ public class ThreadTest { public static DataHandler mHandler; public static void main(String[] args) { mHandler = new DataHandler(); Thread threadA = new Thread(new Runnable() { @Override public void run() { // 线程A中发送数据 String data = "hello code 9527"; System.out.println("send data, run in thread : " + Thread.currentThread().getName() + ", data = " + data); // 经过DataHandler将数据拷贝到线程B中处理 mHandler.sendData(data); } }, "threadA"); threadA.start(); } }