进程
是应用程序的一个实例要使用的资源的一个集合,每个进程都被赋予了一个虚拟空间,以确保另一个其它进程无法访问。进程在者创建时需要分配大量的内存并且初始化加载EXE以及大量的DLL资源。线程相当于逻辑CPU用以解决进程长时间占用资源的问题,在创建时被分配大约1M的内存。线程以CPU时间片单位运行,当...
分类:
编程语言 时间:
2014-05-08 13:21:19
阅读次数:
337
1.同步容器,同步容器包括Vector和HashTable,是早期jdk的一部分。另一部分是同步包装类,以Collections.synchronizedxxx的工厂方法创建。
2.同步容器虽然是线程安全的,但是对于复合操作,有时你可能需要加上额外的客户端加锁进行保护,即对于使用这些容器的客户端代码,如果存在复合操作,还是可能存在风险。
3.例如check-and-act操作、循环中的元素操作...
分类:
编程语言 时间:
2014-05-07 08:33:56
阅读次数:
423
写了个objectpool,很简单,就是个线程安全的队列。
#pragma once
#include
#include
#include
#include
template
class ObjectPool
{
public:
ObjectPool(size_t chunk_size = kdefault_size, size_t chunk_num = 32)
: chun...
分类:
编程语言 时间:
2014-05-05 13:11:58
阅读次数:
446
Golang的标准库提供了log的机制,但是该模块的功能较为简单(看似简单,其实他有他的设计思路)。不过比手写fmt.Printxxx还是强很多的。至少在输出的位置做了线程安全的保护。其官方手册见Golanglog(天朝的墙大家懂的)。这里给出一个简单使用的例子:packagemain
import(
"log"..
分类:
其他好文 时间:
2014-05-05 12:22:27
阅读次数:
20583
定期为大家更新《Java并发变成实践》读书笔记,绝对的干货喔!....
分类:
编程语言 时间:
2014-05-04 18:30:23
阅读次数:
299
上文简单介绍了HttpClient和Tomcat服务器的交互,主角是HttpClient,然后它跟服务器交互有两种方式即get和post。所以这个HttpClient就类似于电脑上用的浏览器。当我打开多个网页的时候,并不需要开一个网页就开一个浏览器,而是一个浏览器上面开了好几个网页。对应于HttpClient,即无需连接一次就new一个HttpClient。一般,我们希望一个应用里就一个HttpC...
分类:
移动开发 时间:
2014-05-04 09:20:06
阅读次数:
420
驱动程序的同步处理
Windows是个多任务的操作系统,每个任务对应一个运行的进程。每个运行的进程中可以包含多个线程。如果没有同步机制的控制,所有的线程会任意运行。然而,多个线程可能会要求操作同一个资源,这时就需要同步处理。
1、基本概念
1.1、问题的引出
在支持多线程的操作系统下,有些函数会出现不可重入现象。所谓“可重入”,是指函数的执行结果和执行顺序无关。反之,如果执行结果和执行顺序...
分类:
其他好文 时间:
2014-05-02 18:25:22
阅读次数:
530
javafx.concurrency并发包是为方便javafx Application Thread也就是javafx的UI线程与后台线程安全交互的工具包。
接口:Worker.
Worker接口封装了Worker.State枚举作为Worker的状态:READY,SCHEDULED,RUNNING,SUCCEDED,FAILED,CANCELLED.
Worker拥有下面这些只读prope...
分类:
编程语言 时间:
2014-05-01 21:51:52
阅读次数:
691
String 的大小是固定的,在进行+运算时会生成新的对象。
StringBulider和StringBuffer都是动态的,但是StringBulider不是线程安全的,而StringBuffer是线程安全的。
建议:
字符串不经常修改可以使用String
字符串经常修改且单线程使用,可以用StringBulider
字符串经常修改且多线程使用,推荐StringBuffer...
分类:
其他好文 时间:
2014-04-30 22:31:39
阅读次数:
215
AbstractQueuedSynchronizer,简称AQS,是java.util.concurrent包的synchronizer的基础框架,其它的synchronizer(包括Lock、Semaphore、CountDownLatch、FutureTask等)都是以它作为基础构建的,这篇文章我将对AQS的框架结构作出介绍,包括它对同步状态的管理,功能流程,等待队列的管理等,并涉及到一些实现...
分类:
其他好文 时间:
2014-04-30 22:12:38
阅读次数:
421