工作中要用到JavaScript,一组复习笔记。 一些看法 1. 想想JavaScript目前最常用的宿主环境,浏览器或者服务端V8,都是单线程,所以不用过多的考虑并发的问题,如果是协程来实现异步的方法,反正就是不用考虑竟态条件了。 2. 开发方式。又是OOP,又是OOF,对独立开发来说就是尽情发挥 ...
分类:
编程语言 时间:
2017-04-02 13:48:45
阅读次数:
230
volatile:防止编译器性能优化,与移植性有关。#include<stdio.h>
#include<signal.h>
intdone=0;
voidhandle(intsig)
{
printf("getsig%d\n",sig);
done=1;
}
intmain()
{
signal(SIGINT,handle);
while(!done);
}Makefile:my_volatile:my_volatile.cgcc-o$@$^-O3...
分类:
其他好文 时间:
2016-05-05 17:50:41
阅读次数:
246
线程的那些事
前言:这篇文章主要小结下linux下多线程的知识点,并且有一些多线程编程中的拓展概念。以及c语言编写线程池的思路linux线程简介
线程的私有数据和公有数据
线程的上下文切换
创建线程
线程终止
互斥量
条件变量
多线程概念简单拓展
竟态条件
并发与并行
同步与互斥
volatile
CAS(compare and swap)
指令重排和内存屏障
c语言实现线程池思想
lin...
分类:
编程语言 时间:
2015-08-04 11:29:09
阅读次数:
212
根据前面的线程阻塞与唤醒小节知道,目前在Java语言层面能实现阻塞唤醒的方式一共有三种:suspend与resume组合、wait与notify组合、park与unpark组合。其中suspend与resume因为存在无法解决的竟态问题而被Java废弃,同样,wait与notify也存在竟态条件,wait必须在notify之前执行,假如一个线程先执行notify再执行wait将可能导致一个线程永远...
分类:
编程语言 时间:
2014-12-13 21:52:10
阅读次数:
439