花费 17 ms
C#综合揭秘——细说多线程(上)

引言 本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O ...

Tue Feb 07 23:17:00 CST 2012 107 139848
Protobuf3 + Netty4: 在socket上传输多种类型的protobuf数据

Protobuf序列化的字节流数据是不能自描述的,当我们通过socket把数据发送到Client时,Client必须知道发送的是什么类型的数据,才能正确的反序列化它。这严重影响限制了C/S功能的实现, ...

Sun Jun 12 23:09:00 CST 2016 6 38260
C#综合揭秘——细说多线程(下)

引言 本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O线程可 ...

Wed Feb 08 23:38:00 CST 2012 67 49138
任务Task系列之使用CancellationToken取消Task

  本文参考书籍《CLR via C#》   Task的取消采用一种形如令牌(Token)的方式。首先先构建一个CancellationTokenSource实例,然后任务中执行的方法必须能接受一个 ...

Wed Aug 01 04:14:00 CST 2018 1 10145
无锁编程:采用不可变类减少锁的使用

很多的同学很少使用、或者干脆不了解不可变类(Immutable Class)。直观上很容易认为Immutable类效率不高,或者难以理解他的使用场景。其实不可变类是非常有用的,可以提高并行编程的 ...

Sun Jun 12 00:38:00 CST 2016 7 14505
伪共享和缓存行填充,从Java 6, Java 7 到Java 8

关于伪共享的文章已经很多了,对于多线程编程来说,特别是多线程处理列表和数组的时候,要非常注意伪共享的问题。否则不仅无法发挥多线程的优势,还可能比单线程性能还差。随着JAVA版本的更新,再各个版本上减少 ...

Tue Jun 28 01:52:00 CST 2016 5 13341
Async和Await异步编程的原理

1. 简介 从4.0版本开始.NET引入并行编程库,用户能够通过这个库快捷的开发并行计算和并行任务处理的程序。在4.5版本中.NET又引入了Async和Await两个新的关键字,在语言层面对并行编 ...

Fri Jul 19 01:26:00 CST 2013 9 19639
Netty : writeAndFlush的线程安全及并发问题

使用Netty编程时,我们经常会从用户线程,而不是Netty线程池发起write操作,因为我们不能在netty的事件回调中做大量耗时操作。那么问题来了 – 1, writeAndFlush是线程安全 ...

Sat Mar 19 23:40:00 CST 2016 1 11219
C++ 并行编程之memory_order

一.如果只是简单地解决在多线程中对共享资源的读写并发问题,只需要用C++以下内容: 线程类 thread, 原子数据类模板 atomic<T> t, 互斥 mutex, 锁 lock, 条 ...

Fri Jan 05 02:21:00 CST 2018 0 6166

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM