
线程
SUKI547
从放弃到入门
展开
-
【Java 并发】 Synchronized关键字
文章目录synchronized简介两种方法1. 对象锁2. 类锁多线程访问同步方法实例总结与Lock对比synchronized 原理可重入性反编译可重入性原理可见性原理缺陷常见面试问题本文笔记来自MOOC课程Java高并发之魂:synchronized深度解析synchronized简介Synchronized 是Java最基本的关键字,它保证同一时刻只有一个线程访问,属于独占锁两种方...原创 2019-09-04 15:21:21 · 254 阅读 · 0 评论 -
并发缺陷探测技术的白盒方法-总结
文章目录目标对象探测技术分类技术方法1. 定义事件event2. 定义执行轨迹的规范3. 建立约束4. 约束求解5.收集原子违背6. 结果总结本文为并发缺陷的确定性复现-以线程为研究中心的总结以 Efficient transaction-based deterministic replay for multi-threaded programs 文章提出的TPLAY工具 和基于约束求解的并发程序错误预测方法研究 硕士论文ASVDetector工具 举例专有名词定义在 【并发理论】事件、执行轨迹、可原创 2020-05-27 18:10:27 · 584 阅读 · 0 评论 -
【并发理论】事件、执行轨迹、可行性公理、最大因果模型
文章目录事件执行轨迹内容来自— 背景 —任意线程都能通过执行一组原子操作来访问并发对象;若对某些并发对象进行访问的原子操作序列能由并发程序的执行产生,则表明这些原子操作序列满足了规定的顺序要求。这些顺序要求被称为并发对象的序列化规范(serial specification) 序列化规范是顺序要求,是并发程序对并发对象访问产生的原子操作序列顺序。并发对象多为两种:共享内存地址:对共享...原创 2020-02-19 23:07:03 · 545 阅读 · 0 评论 -
【Linux内核笔记】系统调用
与内核通信用户空间-syscall-硬件设备统一接口、稳定安全、易于管理API、POSIX和C库POSIX是接口标准接口提供机制mechanism而不是策略policy系统调用通常负的返回值表明错误,0正常。系统调用把错误情况写入errno全局变量。perror()函数翻译为可理解的错误字符串asmlinkage long sys_callxx()编译指令,仅从栈中提取函数参数。...原创 2020-01-15 15:25:47 · 411 阅读 · 0 评论 -
【Linux内核笔记】进程调度
文章目录进程调度原理进程优先级Linux调度算法Unix系统中的进程调度公平调度Linux调度的实现时间记账进程选择调度器入口睡眠和唤醒抢占和上下文切换用户抢占内核抢占实时调度策略与调度有关的系统调用与调度策略和优先级相关的系统调用与处理器绑定有关的系统调度放弃处理器时间进程调度原理进程调度程序:分配有限处理器时间资源抢占式多任务 preemptive multitaskingLinux ...原创 2020-01-15 15:24:03 · 665 阅读 · 0 评论 -
【Linux 内核笔记】进程管理
clone()-fork()-exec()-exit() 子进程结束ZOMBIE 父进程wait4()进程描述符 task_struct进程所有信息 由thread_info分配。为了提高current宏找进程描述符的速度,方便使用偏移量计算进程描述符进程状态TASK_RUNNINGTASK_INTERRUPTIBLETASK_UNINTERRUPTIBLETASK_ZOMBI...原创 2020-01-15 15:21:50 · 465 阅读 · 0 评论 -
线程状态对应汇总(BASH ps命令、Linux内核 、Java jdk线程状态)
ps 命令ps -lUID/PID/PPID:代表『此进程被该 UID 所拥有/进程的 PID 号/此进程的父进程 PID 』F:代表这个进程旗标 (process flags),说明这个进程的权限,常见有:若4 表示此进程的权限 root ;若1 則表示此子进程仅能fork。S:代表这个进程的状态 (STAT),主要的状态有:R (Running):该进程正在运行;S (Sl...原创 2019-12-05 20:37:06 · 549 阅读 · 0 评论 -
Happens-before、Sequentially consistent
Happens-before粗暴的来说,data race发生在冲突访问没有happens-before 的地方When a program contains two conflicting accesses (§17.4.1) that are not ordered by a happens-before relationship, it is said to contain a dat...原创 2019-10-30 16:58:54 · 259 阅读 · 0 评论 -
【并发缺陷】data race数据竞争、atomicity violation原子违背、order violation顺序违背
三类均是跟共享变量的内存访问有关的缺陷。对于并发缺陷的分类目前国内许多是分死锁、数据竞争、原子违背、顺序违背。或者在并发缺陷中又细分 concurrency vulnerability :死锁和数据竞争。感觉各个作者有自己的分类方法????以下引用的中文解释来自<并发缺陷暴露、检测与规避研究综述>哈工大的苏小红老师实验室发表在2015年计算机学报上目前找到外文文献分为7类。其他四类...原创 2019-10-25 15:52:32 · 1494 阅读 · 0 评论 -
【Java 并发】线程join() 和 yield()
看了一遍thinking in java 没懂,看了中文版Java高并发的书才了解。我跪着来学习了joinThread 的join和sleep一样是一个可中断的方法,如果有其他线程执行了对当前线程的interrupt操作,也会捕获到中断信号,并擦除线程的interrupt标识,Thread的API提供了3种不同的join方法。1. public final void join() throw...原创 2019-10-24 22:06:54 · 295 阅读 · 0 评论 -
Linux 进程与线程
进程进程是程序在资源集合上的一次运行进程= 代码+外设+内存+CPU(使用周期划分时间片轮流分割,满足并发)进程 = 线程集合+资源集合进程 = 进程PCB+资源+全局data+code +(线程PCB+线程用户栈/核心栈)*n引入线程的原因把进程的两项功能“独立分配资源”和“被调度分派执行”分离开来。前一任务由进程完成,后一项交给线程这个实体多线程切换只需改变堆栈和寄存器。...原创 2019-06-26 17:10:10 · 264 阅读 · 0 评论