大家应该都知道,python有一个GIL(全局解释器锁),用于控制多线程的并发行为。 注:GIL不是必须的,可以通过对每个资源单独加锁的方式去掉GIL,也就是将GIL换成更细粒度的锁。 GIL锁的实现 Linux上的POSIX线程的实现有如下行为: 1、同一个线程多次调用pthread_mutex_ ...
分类:
编程语言 时间:
2021-05-03 12:21:44
阅读次数:
0
稳定复现的 coredump打开 dpdk 相关的 debug开关,重新编译mbuf debugmalloc debug mempool debug给 dpdk 源码加检查或日志,重新编译无法稳定复现的 coredump打开大页内存的 coredump案例字节序导致取地址不对,从而踩内存多线程竞争资 ...
分类:
其他好文 时间:
2021-04-30 12:15:53
阅读次数:
0
1,什么是发布订阅模式? 在软件架构中,发布订阅是一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如 ...
分类:
编程语言 时间:
2021-04-29 11:56:52
阅读次数:
0
BUAA OO 第二单元总结 前言 ?本单元我们开始学习多线程程序设计。这对于我来说是一个全新的领域,在这之前我对于多线程这一方面几乎没有任何了解,因此这需要我继续认真学习。本单元需要我们模拟电梯系统的运行,这一个典型的生产者-消费者模型,具有清晰的结构,能够很好地让我们学习多线程相关知识,体会多线 ...
分类:
其他好文 时间:
2021-04-27 14:26:26
阅读次数:
0
调用start() 方法时会执行run() 方法,为什么我们不能直接调用 run() 方法? 学习或者复习多线程的时候有没有问过自己这个问题呢? 首先需要知道线程的几个状态以及多线程工作方式。 new 一个Thread,线程进入了新建状态,调用start() 方法,会启动一个线程并使线程进入了就绪状 ...
分类:
其他好文 时间:
2021-04-26 13:45:38
阅读次数:
0
CountDownLatch 减法计数器 官方定义:允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助。 通俗理解:就是一个减法计数器,当减到值为0的时候才做某事。 常用方法: countDown 减一操作; await 等待计数器归零; 示例 :一个教室关门的案例(人走完(0)才能 ...
分类:
编程语言 时间:
2021-04-26 13:38:23
阅读次数:
0
初识并发问题 //多线程同时操作同一个对象 //抢火车票的例子 //发现问题:多个线程操作同一个资源的情况下,线程不安全,数据会出现紊乱 (并发问题) public class ThreadTest04 implements Runnable{ //票数 private int ticketNums ...
分类:
其他好文 时间:
2021-04-24 13:52:25
阅读次数:
0
要求: 1、 假设现在有一个售票员进行售票,票价为5元,初始状态:票数不限,票售员手中有1张10元钱; 2、 每来一个顾客买票,相当于是创建一个线程,注意,此时顾客共享的资源是售票员及其手中的钱; 3、 当一个顾客到达后相当于创建一个线程,创建该线程时有两个参数,一是线程名,也就是顾客的名字,二是顾 ...
分类:
编程语言 时间:
2021-04-23 12:20:53
阅读次数:
0
分享一份Java面试手册,超全技术栈。附答案! 24W字Java面试手册下载 1. 多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"知其然","为什么用"才是"知其所以然",只有达到"知其然 ...
分类:
编程语言 时间:
2021-04-22 15:52:13
阅读次数:
0
ThreadLocal通过Thread.threadlocals保存ThreadLocal的副本,但是ThreadLocal变量在多线程情况下仍然是不安全的。 class MyClass{ private Integer value; public MyClass(){ } public MyCla ...
分类:
其他好文 时间:
2021-04-22 15:36:52
阅读次数:
0