什么是线程?它与进程有什么异同?
线程的定义:线程(thread),台湾地区译为执行绪绪程,操作系统技术中的术语,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是行程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并行多个线程,每条线程并行执行不同的任务。在Unix SystemV及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。计算机科学术语,指运行中的程序的调度单位。
线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIXThread;或者由内核与用户进程,如Windows7的线程,进行混合调度。
同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(callstack),自己的寄存器环境(registercontext),自己的线程本地存储(thread-localstorage)。
一个进程可以有很多线程,每条线程并行执行不同的任务。
线程与进程的区别如下:
1、进程是资源分配的最小单位,线程是资源调度的最小单位。
2、线程是在进程下运行的。一个进程可以包含多个线程。
3、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间。而线程是共享进程中的数据的,使用相同的地址空间。
4、同一进程下不同线程间数据容易共享,不同进程间数据很难共享。
disruptor框架和线程池有什么区别?
Disruptor框架是一个高性能的异步处理框架,或者可以认为是最快的消息框架(轻量的JMS),也可以认为是一个观察者模式的实现,或者事件监听模式的实现。
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。
生产环境ulimit设置多大合理?
在/etc/profile的最后面添加ulimit-sunlimited保存,source/etc/profile使修改文件生效
linux查看修改线程默认栈空间大小:ulimit-s
1、通过命令ulimit-s查看linux的默认栈空间大小,默认情况下为10240即10M
2、通过命令ulimit-s设置大小值临时改变栈空间大小:ulimit-s,即修改为100M
3、可以在/etc/rc.local内加入ulimit-s则可以开机就设置栈空间大小
4、在/etc/security/limits.conf中也可以改变栈空间大小:
#
*softstack
重新登录,执行ulimit-s即可看到改为即100M
cpu线程信息必须保存在什么中?
当进程由执行状态变为就绪状态时,CPU线程信息必须被保存在PCB中。
CPU当前正在执行的指令与数据必须都存放在内存储器中,内存有堆内存,和栈内存。CPU可以直接访问内存数据,硬盘数据必须导到内存才能被使用!CPU-->内存-->硬盘。外部存储器上的数据会在需要的时候读入内存。
golang线程池原理?
golang线程池属于对象池.所有对象池都具有一个非常重要的共性,就是为了最大程度复用对象.那么线程池的最
重要的特征也就是最大程度利用线程.
首先,创建线程本身需要额外(相对于执行任务而必须的资源)的开销.
作业系统在每创建一个线程时,至少需要创建以下资源:
(1)线程内核对象:用于对线程上下文的管理.
(2)用户模式执行栈.
(3)内核模式执行栈.
这些资源被线程占有后作业系统和用户都无法使用.
相反的过程,销毁线程需要回收资源,也需要一定开销.
其次,过多的线程将导致过度的切换.线程切换带来的性能更是不可估量.系统完成线程切换要经过以下过程:
(1)从用户模式切换到内核模式.
(2)将cpu寄存器的值保存到当前线程的内核对象中.
(3)打开一个自旋锁,根据调度策略决定下一个要执行的线程.释放自旋锁,如果要执行的线程不是同一进
程中的线程,还需要切换虚拟内存等进程环境.
(4)将要执行的线程的内核对象的值写到cpu寄存器中.
(5)切换到用户模式执行新线程的执行逻辑.
所以线程池的目的就是为了减少创建和切换线程的额外开销,利用已经的线程多次循环执行多个任务从而提
高系统的处理能力.
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!