前段时间为了解决Volte的T侧短消息流程问题,自己写了一个T侧短消息的工具,在基础线程上搞了3个线程。因为公司的执行机都是4核以上的虚拟机,所以线程数量上完全没问题。 程序启动时创建的线程用来做维护了,比如接收了多少消息,发送了多少消息,都有什么类型的消息。 线程1用来接收消息,收了消息啥也不干, ...
分类:
编程语言 时间:
2017-04-04 21:46:35
阅读次数:
207
线程间的通信、同步方式与进程间通信方式 说到线程之间通信方式:依据我的理解 主要是有两种吧 1.是通过共享变量,线程之间通过该变量进行协作通信; 2.通过队列(本质上也是线程间共享同一块内存)来实现消费者和生产者的模式来进行通信; 1.通过线程之间共享变量的方式 这个就有必要说下 wait(),no ...
分类:
编程语言 时间:
2017-04-03 16:11:33
阅读次数:
177
Spark编程模型回顾 Spark编程模型几大要素 (1) Driver Program (2) 输入-Transformation-Action (3) 缓存 (4) 共享变量 RDD的五大特征 (1)分区 partitions (2)依赖 dependencies() (3)计算函数 compu ...
分类:
其他好文 时间:
2017-03-24 14:13:29
阅读次数:
262
Java并发编程:Callable、Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程 ...
分类:
编程语言 时间:
2017-03-20 20:47:49
阅读次数:
166
首先看看ThreadLoacl如何做到共享变量实现为线程私有变量 Thread源码里面,有一个ThreadLoaclMap ThreadLoacl set方法源码 ThreadLoacl getMap方法源码 测试TreadLocal线程私有 测试结果 线程1永远输出abc 线程2永远输出null ...
分类:
编程语言 时间:
2017-03-18 20:14:03
阅读次数:
504
Angular的作用域在本质上是分层次的:他们可以通过父子关系很自然地来回沟通。但通常,作用域不共享变量的,他们执行的功能往往各不相同,跟在父树上无关。 在这种情况下,我们可以通过在这个链上传递事件的方式在作用域之间通信。 什么是事件? Angular应用也可以相应Angular事件,这使得我们可以 ...
分类:
其他好文 时间:
2017-03-16 16:28:31
阅读次数:
299
1,当写一个volatile变量时,JMM(java内存模型)会把该线程本地内存中的所有共享变量刷新到主内存中去 2,当读取一个volatile变量时,该线程会将本地内存置为无效,线程将从主内存中读取共享变量。 总结,volatile变量可以实现线程之间的通信。 当对一个volatile变量写操作时 ...
分类:
其他好文 时间:
2017-03-12 00:56:30
阅读次数:
162
蝇量模式:让某个类的一个实例能够用来提供多个“虚拟”实例,运用共享技术有效地支持大量细粒度的对象 特点: 减少运行时对象实例的个数 将许多“虚拟”对象的状态一同管理 运用共享技术有效地支持大量细粒度的对象 区分对象的共享变量(内部状态)和不可共享变量(外部状态,将此类变量从类从剔除,由外部传入) 用 ...
分类:
其他好文 时间:
2017-03-09 23:06:31
阅读次数:
172
引言: 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。 可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。 Volatile的官方定义 Jav ...
分类:
编程语言 时间:
2017-03-03 11:47:17
阅读次数:
226
ThreadLocal用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据。 每个线程调用全局ThreadLocal对象的set方法,就相当于往其内部的map中增加一条记录,key分别是各自的线程,value是各自的set ...
分类:
编程语言 时间:
2017-02-21 01:07:05
阅读次数:
299