线程越多越好吗 线程( 二 )


此外,还可以访问进程所拥有的已打开文件、定时器、信号量机构等 。由于同一个进程内的线程共享内存和文件,所以线程之间互相通信不必调用内核 。

线程越多越好吗 线程

文章插图
什么是线程?有什么用 讲得通俗点1、线程的定义
线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元 。
线程,在网络或多用户环境下,一个服务器通常需要接收大量且不确定数量用户的并发请求,为每一个请求都创建一个进程显然是行不通的,——无论是从系统资源开销方面或是响应用户请求的效率方面来看 。因此,操作系统中线程的概念便被引进了 。
线程,是进程的一部分,一个没有线程的进程可以被看作是单线程的 。线程有时又被称为轻权进程或轻量级进程,也是 CPU 调度的一个基本单位 。
2、线程的作用:
线程的作用很多,举个最为典型的例子:
当需要在网络上放一个服务端,一个客户端访问时,就会新建一个线程处理这个客户端的事务,这样的话只要不断新建线程就可以处理多个用户的请求了 。
扩展资料
线程的五种状态:
1、新生状态(New)
当一个线程的实例被创建即使用new关键字和Thread类或其子类创建一个线程对象后,此时该线程处于新生状态 。此时线程不是活着的(not alive);
2、就绪状态(Runnable)
通过调用线程实例的start()方法来启动线程使线程进入就绪状态;但还没有被分配到CPU,处于线程就绪队列;此时线程是活着的(alive) 。
3、运行状态(Running)
一旦获取CPU,线程就进入运行状态,线程的run()方法才开始被执行,如果在给定的时间内没有执行结束,就会被系统给换下来回到线程的就绪状态,此时线程是活着的(alive) 。
4、阻塞状态(Blocked)
通过调用join()、sleep()、wait()或者资源被暂用使线程处于阻塞状态,此时线程是活着的(alive) 。
5、死亡状态(Dead)
当一个线程的run()方法运行完毕或被中断或被异常退出,该线程到达死亡状态 。处于Dead状态调用start()方法,会出现异常 。
参考资料:百度百科-线程
什么叫线程线程(英语:thread)是操作系统能够进行运算调度的最小单位 。它被包含在进程之中,是进程中的实际运作单位 。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 。
在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程 。
扩展资料:
多线程原理:
实现多线程是采用一种并发执行机制 。
并发执行机制原理:简单地说就是把一个处理器划分为若干个短的时间片,每个时间片依次轮流地执行处理各个应用程序,由于一个时间片很短,相对于一个应用程序来说,就好像是处理器在为自己单独服务一样,从而达到多个应用程序在同时进行的效果 。
多线程就是把操作系统中的这种并发执行机制原理运用在一个程序中,把一个程序划分为若干个子任务,多个子任务并发执行,每一个任务就是一个线程 。这就是多线程程序 。
参考资料来源:百度百科-多线程
参考资料来源:百度百科-线程
什么是线程?什么是线程?
究竟什么是线程呢?正如在图A中所示,一个线程是给定的指令的序列
(你所编写的代码),一个栈(在给定的方法中定义的变量),以及一些共享数据(类一级的变量) 。线程也可以从全局类中访问静态数据 。
栈以及可能的一些共享数据
每个线程有其自己的堆栈和程序计数器(PC) 。你可以把程序计数器(PC)设想为用于跟踪线程正在执行的指令,而堆栈用于跟踪线程的上下文,上下文是当线程执行到某处时,当前的局部变量的值 。虽然你可以编写出在线程之间传送数据的子程序,在正常情况下,一个线程不能访问另外一个线程的栈变量 。
一个线程必须处于如下四种可能的状态之一,这四种状态为:
初始态:一个线程调用了new方法之后,并在调用start方法之前的所处状态 。在初始态中,可以调用start和stop方法 。
Runnable:一旦线程调用了start
方法,线程就转到Runnable
状态,注意,如果线程处于Runnable状态,它也有可能不在运行,这是因为还有优先级和调度问题 。

秒懂生活扩展阅读