今日内容: 1.计算机发展史(理论) 2.进程(理论) 3.创建进程的俩种方式 4.进程join方法 5.进程对象及其他方法 6.进程间数据是相互隔离的 7.守护进程 8.互斥锁 一.计算机发展史 1.操作系统发展史 1.第一带计算机 真空管和穿孔卡片 没有进程 没有操作系统 2.第二代计算机 70 ...
分类:
其他好文 时间:
2019-08-09 21:17:04
阅读次数:
98
1. GIL锁. 2. GIL锁与互斥锁的关系. 3. 进程池线程池. ...
分类:
其他好文 时间:
2019-08-09 19:02:07
阅读次数:
74
众所周知,JDK提供了AtomicInteger保证对数字的操作是线程安全的,线程安全我首先想到了synchronized和Lock,但是这种方式又有一个名字,叫做互斥锁,一次只能有一个持有锁的线程进入,再加上还有不同线程争夺锁这个机制,效率比较低,所以又称“悲观锁”。 但是相应的有了乐观锁的概念, ...
分类:
编程语言 时间:
2019-08-08 21:39:27
阅读次数:
165
Q:为什么要用锁?什么样的业务场景下需要用锁? 就拿之前的工单系统来说,当审批方式为角色组审批时,代表该角色组内任意一人审批即可,这时,该角色组内成员的系统上都是可以显示审批按钮,如果此时A审批员和B审批员都同时审批了同一工单,有可能会出现不一样的审批结果,即使审批意见是一致的,多人操作也会增加对数 ...
分类:
编程语言 时间:
2019-08-08 21:19:41
阅读次数:
96
ReentrantLock ReentrantLock(轻量级锁)也可以叫对象锁,可重入锁,互斥锁。synchronized重量级锁,JDK前期的版本lock比synchronized更快,在JDK1.5之后synchronized引入了偏向锁,轻量级锁和重量级锁。以致两种锁性能旗鼓相当,看个人喜欢 ...
分类:
其他好文 时间:
2019-08-07 20:59:58
阅读次数:
346
1、互斥锁又叫互斥量(mutex) 2、相关函数:pthread_mutex_init pthread_mutex_destroy pthread_mutex_lock pthread_mutex_unlock 3、互斥锁与信号量的关系:可以认为互斥锁是一种特殊的信号量 4、互斥锁主要用来实现关键段 ...
分类:
编程语言 时间:
2019-08-07 09:19:39
阅读次数:
93
互斥锁 共享资源的使用是互斥的,即一个线程获得资源的使用权后就会将改资源加锁,使用完后会将其解锁,所以在使用过程中有其它线程想要获取该资源的锁,那么它就会被阻塞陷入睡眠状态,直到该资源被解锁才会别唤醒,如果被阻塞的资源不止一个,那么它们都会被唤醒,但是获得资源使用权的是第一个被唤醒的线程,其它线程又 ...
分类:
其他好文 时间:
2019-08-06 15:35:15
阅读次数:
94
typedef struct __lock_t { int flag; } lock_t; int TestAndSet(int *ptr, int new) { int old = *ptr; *ptr = new; return old; } void init(lock_t *mutex) { ...
分类:
编程语言 时间:
2019-07-30 00:38:49
阅读次数:
173
内存使用量少,几k vs 至少1MB 可增长的分段堆栈 启动时间比线程快 在共享数据结构时避免使用互斥锁 https://medium.com/@kevalpatel2106/why-should-you-learn-go-f607681fad65 非常快速的上下文切换 没有并发问题 选择您的调度程 ...
分类:
编程语言 时间:
2019-07-27 09:44:38
阅读次数:
398
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 /*提示出租车到达的条件变量*/ 11 pthread_cond_t taxiCond =... ...
分类:
其他好文 时间:
2019-07-26 01:41:28
阅读次数:
120