线程池的作用 在多线程的应用中,线程的频繁创建和销毁会浪费时间,从而影响效率,所以引进线程池和概念,将多个线程维护在线程池中,避免了线程频繁创建与销毁的开销问题 线程池的结构 结构体 struct threadpool_t { pthread_mutex_t lock; //互斥锁 pthread_ ...
分类:
编程语言 时间:
2021-07-19 16:30:19
阅读次数:
0
主要讨论RR隔离级别,因为RC只是少了间隙锁。 一、innodb七种锁 共享/排他锁(Shared and Exclusive Locks) 共享锁(Shared Locks,S锁) 排他锁(Exclusive Locks,X锁) 可以一起读,读写/写写互斥。 意向锁(Intention Locks ...
分类:
数据库 时间:
2021-07-02 15:56:48
阅读次数:
0
1. 线程安全 排它锁用于确保同一时间只允许一个线程执行指定的代码段。主要的两个排它锁构造是lock和Mutex(互斥体)。其中lock更快,使用也更方便。而Mutex的优势是它可以跨进程的使用。 lock 排他锁 class ThreadUnsafe { static int _val1 = 1, ...
分类:
编程语言 时间:
2021-06-30 18:15:34
阅读次数:
0
死锁产生的四个必要条件 互斥条件:一个资源每次只能被一个进程使用 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放 不剥夺条件:进程已获得的资源,在未使用完之前,不能强制剥夺 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系 实例 package com.yeyue.t ...
分类:
编程语言 时间:
2021-06-30 18:01:58
阅读次数:
0
与其他编程语言一样在并发环境下如不对多个goroutine(线程)访问或修改的共享资源元素的进行控制,让进入临界区的对象互斥。就可能会出现数据异常情况; 一个非线程安全对象如下,如不对Id的访问进行控制,多个goroutine进行更新Id字段是就会出现数据不一致的情况,如下示例: type Conf ...
分类:
其他好文 时间:
2021-06-19 19:07:27
阅读次数:
0
1、动态库a,动态库b,之间怎么调用全局变量,两个文件之间全局变量是怎么调用的 回答使用extend 2、怎么防止库函数定义不重复 3、函数修饰static有什么作用? 4、宏参数怎么关联使用,例子A,B,C,怎么使用C关联A,B两个宏 5、结构体和共用体说说看? 6、线程是互斥的,怎么保证线程数据 ...
分类:
其他好文 时间:
2021-06-16 17:55:38
阅读次数:
0
概述1: 并发事件,宏观上同时,微观上交替。 单核cpu同一时刻只能执行同一程序,各个程序只能并发执行 多核cpu可以并行执行多个程序 互斥共享和同时共享的区别:是否可以被多个进程“同时”(宏观上)访问 没有共享,就没有并发;没有并发,也没有共享;没有并发,也没有虚拟性;只有并发性,才有可能导致异步 ...
分类:
其他好文 时间:
2021-06-11 18:12:22
阅读次数:
0
在多线程的 JAVA程序中,实现线程之间的同步,就要说说 Monitor。 Monitor是 Java中用以实现线程之间的互斥与协作的主要手段,它可以看成是对象或者 Class的锁。每一个对象都有,也仅有一个 monitor。下 面这个图,描述了线程和 Monitor之间关系,以 及线程的状态转换图 ...
分类:
编程语言 时间:
2021-06-04 19:25:52
阅读次数:
0
目的:让一个驱动程序在同一时刻只能被一个进程使用。 方法:可以用原子操作也可以用信号量,用信号量的话还涉及到阻塞方式和非阻塞方式。 1. 原子操作原子操作指的是在执行过程中不会被别的代码路径所中断的操作。常用原子操作函数举例:atomic_t v = ATOMIC_INIT(0); //定义原子变量 ...
分类:
其他好文 时间:
2021-06-03 17:46:21
阅读次数:
0
1 单选(2分) 从集合{1,2,3,4,5}中随机取出一个数,设事件A为“取出的是偶数”,事件B为“取出的是奇数”,则事件A与B的关系是 得分/总分 A. 互斥且对立 2.00/2.00 B. 互斥且不对立 C. 对立且不互斥 D. 既不互斥也不对立 2 单选(2分) 设A与B为任意两事件,则以下 ...
分类:
其他好文 时间:
2021-05-24 10:35:15
阅读次数:
0