1.什么是进程的内核栈? 在内核态(比如应用进程执行系统调用)时,进程运行需要自己的堆栈信息(不是原用户空间中的栈),而是使用内核空间中的栈,这个栈就是进程的内核栈 2.进程的内核栈在计算机中是如何描述的? linux中进程使用task_struct数据结构描述,其中有一个stack指针 task_ ...
分类:
系统相关 时间:
2018-08-30 11:02:24
阅读次数:
221
R君今天曾问我:假设现在有三个线程T1、T2、T3。那么他希望T1、T2、T3这三个线程按照顺序去执行,该怎么去完成。我本能的反应是这个好办,使用thread.jon()方法完全可以实现。接着他又问,有没有其它的实现方式,这时我在想,线程的优先级呢,为这三个线程设置优先级,但是我随之否定了自己的这个 ...
分类:
编程语言 时间:
2018-08-30 02:04:13
阅读次数:
219
一、生产者消费者模型 我们去超市商店等地购买商品时,我们大部分人都会说自己是消费者,而超市的各大供货商、工厂等,自然而然地也就成了我们的生产者。如此一来,生产者有了,消费者也有了,那么将二者联系起来的超市又该作何理解呢?诚然,它本身是作为一座交易场所而诞生。 上述情形类比到实际的软件开发过程中,经常 ...
分类:
其他好文 时间:
2018-08-30 02:02:52
阅读次数:
166
1、准备jar 网上下载jar文件,这里使用的是jna-4.0.0.jar、jna-platform-4.0.0 2、创建dll 使用Visual Studio 2017创建dll(动态库) 3、创建Java项目调用dll 4、出现的问题 Exception in thread "main" jav ...
分类:
编程语言 时间:
2018-08-30 01:55:41
阅读次数:
198
在上一篇文章中说过使用thread.join()方法、newSingleThreadExecutor单线程池来控制线程执行顺序。在文章的末尾我提出了一种构想,可否使用经典的生产者和消费者模型来控制执行顺序。在本文中,我将使用CountDownLatch来解决这个问题。 上图是countDownLat ...
分类:
编程语言 时间:
2018-08-30 01:52:17
阅读次数:
290
定义 Java 中有两种线程: 一种是用户线程(User Thread),一种是守护线程(Daemon Thread)。 守护线程是一种特殊的线程, 它的特殊有“陪伴”的含义, 当线程中不存在非守护线程时, 则守护线程自动销毁。 垃圾回收线程就是一种守护线程, 当线程中没有非守护线程了, 则垃圾回收 ...
分类:
编程语言 时间:
2018-08-30 00:15:04
阅读次数:
158
js处理异步的几种方式 Javascript语言的执行环境是"单线程"(single thread,就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推)。 这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务 ...
分类:
Web程序 时间:
2018-08-29 20:31:05
阅读次数:
189
阅读目录 一 引子 二 协程介绍 三 Greenlet模块 四 Gevent模块 引子 之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要 ...
分类:
其他好文 时间:
2018-08-29 20:30:39
阅读次数:
165
线程和进程:操作系统执行多任务,每个任务就是进程;进程执行多任务,每个任务就是线程;包含关系 。 一、多线程创建和启动: 1、继承Thread:重写run()方法,调用start()启动线程。 public class ThreadDemo extends Thread{ @Override pub ...
分类:
编程语言 时间:
2018-08-29 18:06:52
阅读次数:
129
JMeter线程组: 备注:文章中是JMeter4.0的截图 1、启动JMeter后,右键点击TestPlan(如图),选择Thread Group(线程组): 2、选择左侧新建的Thread Group: -根据图中数字对应讲解: 1、Name:该线程组的名称. Comments:注释内容,备注信 ...
分类:
编程语言 时间:
2018-08-29 18:05:05
阅读次数:
155