摘要: 原子性(atomicity)具有原子性的操作被称为原子操作。原子操作在操作完毕之前不会线程调度器中断。在Java中,对除了long和double之外的基本类型的简单操作都具有原子性。简单操作就是赋值或者return。比如”a = 1;“和 “return a;”这样的操作都具有原子性。但是在Java中,上面买碘片例子中的类似”a += b”这样的操作不具有原子性,所以如果add方法不是同步的就会出现难以预料的结果。在某些JVM中”a += b”可能要经过这样三个步骤:取出a和b计算a+b将计算结果写入内存如果有两个线程t1,t2在进行这样的操作。t1在第二步做完之后还没来得及把数据写回内存就被 阅读全文
posted @ 2014-04-05 22:27 菜园的鸟 阅读(1340) 评论(0) 推荐(0) 编辑
摘要: windows和应用的交互都是用消息机制的。win系统和应用之间的关系如下:在消息队列中存储要和用户应用直接的交互信息,消息队列是一个队列,是先进先出的机制。其中消息的内容为:typedef struct tagMSG { // msg HWND hwnd; //这是句柄,就是资源的标识,比如说这是标识哪个窗口 UINT message; //这是一个无符号整型,标识是用户的哪种动作,比如按下鼠标左键,就是WM_LBUTTONDOWN WPARAM wParam; //附加信息,比如按下键盘A,附加就是A的ascii码 LPARAM lPara... 阅读全文
posted @ 2014-04-05 22:25 菜园的鸟 阅读(3652) 评论(0) 推荐(0) 编辑