精华内容
下载资源
问答
  • 线程大家都有使用,但是有时候也仅仅是使用,对它的一些行为还不是特别的了解,今天就来和大家谈谈线程的状态这个内容。 首先线程有哪些状态呢? 这个问题,我们可以从Java的源代码中找到的答案,先简单粗暴,直接...

    先声明一下水印问题,一开始公众号是叫午茶电影,后面我又改了个名字,但是在写这篇文章的时候,还是原来那个名字,这绝对不是转载的,因为你搜wuchastory公众号,就能搜到我这个。

    线程大家都有在使用,但是有时候也仅仅是使用,对它的一些行为还不是特别的了解,今天就来和大家谈谈线程的状态这个内容。

    首先线程有哪些状态呢?

    这个问题,我们可以从Java的源代码中找到的答案,先简单粗暴,直接贴上代码,看看线程的状态有哪些:
    在这里插入图片描述

    看完了,大家也知道了,线程有6个状态。

    这6个状态分别是:New, Runnable, Blocked, Waiting, Timed_Waiting, Terminated.

    分别是什么意思呢?咱们一一来解释,其实说起来也简单。

    New:这个状态呢,就是线程对象创建之后、启动之前,就是这个状态。

    用代码来说呢,就是
    在这里插入图片描述

    这个New状态很好理解。

    Runnable: 当调用start方法后呢,线程就会进入Runnable状态,表示,我这个线程可以被执行了,如果调度器给这个线程分配了CPU时间,那么这个线程就可以被执行,这里一定要正确区分一下Runnable不是说正在执行,而是可以被执行,这两个还是有区别的。
    在这里插入图片描述

    Blocked: 这个状态,当线程要进入临界区的时候,会发生。比如说,前面有一个临界区的代码需要执行,那么线程就会进入这个状态,如果只有一个线程呢,那么也就只有它一个在进入临界区了,它就会进入临界区开始执行,随后转为Runnable状态。如果有多个线程到了临界区,那么都会进入Blocked状态,由调度器选一个来执行,如果这个线程执行完毕后,大家还是一同为Blocked状态,调度器再选一个来执行。

    在这里插入图片描述

    所以很有可能发生的情况是,选了A线程执行,BCD都在等着,A执行完了后,还是偏心的选了A线程执行。

    Waiting: waiting状态,当你调用了wait,join方法后,就会进入这个状态。一旦进入到这个状态,CPU就不会管你了,直到有别的线程通过notify方法将它唤起,否则的话,就会一直在等待中。设计这个状态怎么用呢?我的理解是,线程A需要完成一些事情,但是这些事情必须要满足某些条件才能继续,因此,如果我写一个死循环在这里等待,就很优雅了(浪费CPU资源),这时就可以使用这个waiting状态,条件未满足前,我进入waiting状态,等条件满足了,别人来通知我,我在继续执行。
    在这里插入图片描述

    Timed_Waiting: 这个状态也是等待,但是是有一个计时器在里面,最常见的是使用Thread.sleep方法触发,触发后,线程就进入了Timed_waiting状态,随后会由计时器触发,再进入Runnable状态。

    在这里插入图片描述
    Terminated: 终结状态,当线程的所有代码都被执行完毕后,会进入到这个状态,这个就是字面意思了。

    总的来说,状态切换如下图所示了:

    在这里插入图片描述

    可见,几个重要状态的切换都是从Runnable转换出去,再转换回来的

    然而……

    在这里插入图片描述

    咱们还是得实践一把,才能整明白啊,光纸上谈兵咋行呢。于是我就凭空捏造了一个需求:

    有一个4*50的二维数组,用4个线程去分5个阶段去填满它,也就说,第一阶段大家一起填0-9,当大家都填满了0-9,再一起去填10-19,以此类推,先填满的线程要等着其他线程都填好了,再继续。

    这样就能看到4个线程争先恐后的填数组,跑得快的还得先等着跑得慢的,然后大家再继续跑第二阶段。

    在这里插入图片描述

    这里直接放上效果图(下面是GIF,会动的):
    在这里插入图片描述

    代码放在github上了,如需自取:https://github.com/krossford/algorithm/blob/master/java/src/thread/TestThreadStatus.java

    展开全文
  • http状态码200,300,404等是什么意思

    万次阅读 2018-04-18 09:42:59
    学习网页设计的时候都应该知道状态码,但我们常见的状态码都是200,404,下面介绍其他的状态值1开头的http状态码表示临时响应并需要请求者继续执行操作的状态代码。100 (继续) 请求者应当继续提出请求。 服务器...

    在学习网页设计的时候都应该知道状态码,但我们常见的状态码都是200,404,下面介绍其他的状态值


    1开头的http状态码
    表示临时响应并需要请求者继续执行操作的状态代码。

    100   (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。  
    101   (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

    2开头的http状态码
    表示请求成功

    200     成功处理了请求,一般情况下都是返回此状态码; 
    201     请求成功并且服务器创建了新的资源。 
    202     接受请求但没创建资源; 
    203     返回另一资源的请求; 
    204     服务器成功处理了请求,但没有返回任何内容;
    205     服务器成功处理了请求,但没有返回任何内容;
    206     处理部分请求;

    3xx (重定向) 
    重定向代码,也是常见的代码

    300   (多种选择)  针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。 
    301   (永久移动)  请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。 
    302   (临时移动)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。 
    303   (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。 
    304   (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。 
    305   (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。 
    307   (临时重定向)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。


    4开头的http状态码表示请求出错
     
    400    服务器不理解请求的语法。 
    401   请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。 
    403   服务器拒绝请求。 
    404   服务器找不到请求的网页。 
    405   禁用请求中指定的方法。 
    406   无法使用请求的内容特性响应请求的网页。 
    407   此状态代码与 401类似,但指定请求者应当授权使用代理。 
    408   服务器等候请求时发生超时。 
    409   服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。 
    410   如果请求的资源已永久删除,服务器就会返回此响应。 
    411   服务器不接受不含有效内容长度标头字段的请求。 
    412   服务器未满足请求者在请求中设置的其中一个前提条件。 
    413   服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。 
    414   请求的 URI(通常为网址)过长,服务器无法处理。 
    415   请求的格式不受请求页面的支持。 
    416   如果页面无法提供请求的范围,则服务器会返回此状态代码。 
    417   服务器未满足”期望”请求标头字段的要求。


    5开头状态码并不常见,但是我们应该知道

    500   (服务器内部错误)  服务器遇到错误,无法完成请求。 
    501   (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。 
    502   (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。 
    503   (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。 
    504   (网关超时)  服务器作为网关或代理,但是没有及时从上游服务器收到请求。 
    505   (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

    展开全文
  • http状态码200,300,404等是什么意思

    千次阅读 2019-03-10 11:09:39
    表示临时响应并需要请求者继续执行操作的状态代码。 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器...

    1开头的http状态码

    表示临时响应并需要请求者继续执行操作的状态代码。

    100   (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。  
    101   (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

    2开头的http状态码

    表示请求成功

    200     成功处理了请求,一般情况下都是返回此状态码; 
    201     请求成功并且服务器创建了新的资源。 
    202     接受请求但没创建资源; 
    203     返回另一资源的请求; 
    204     服务器成功处理了请求,但没有返回任何内容;
    205     服务器成功处理了请求,但没有返回任何内容;
    206     处理部分请求;

    3xx (重定向) 

    重定向代码,也是常见的代码

    300   (多种选择)  针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。 
    301   (永久移动)  请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。 
    302   (临时移动)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。 
    303   (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。 
    304   (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。 
    305   (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。 
    307   (临时重定向)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

    4开头的http状态码表示请求出错

    400    服务器不理解请求的语法。 
    401   请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。 
    403   服务器拒绝请求。 
    404   服务器找不到请求的网页。 
    405   禁用请求中指定的方法。 
    406   无法使用请求的内容特性响应请求的网页。 
    407   此状态代码与 401类似,但指定请求者应当授权使用代理。 
    408   服务器等候请求时发生超时。 
    409   服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。 
    410   如果请求的资源已永久删除,服务器就会返回此响应。 
    411   服务器不接受不含有效内容长度标头字段的请求。 
    412   服务器未满足请求者在请求中设置的其中一个前提条件。 
    413   服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。 
    414   请求的 URI(通常为网址)过长,服务器无法处理。 
    415   请求的格式不受请求页面的支持。 
    416   如果页面无法提供请求的范围,则服务器会返回此状态代码。 
    417   服务器未满足”期望”请求标头字段的要求。



    5开头状态码并不常见,但是我们应该知道


    500   (服务器内部错误)  服务器遇到错误,无法完成请求。 
    501   (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。 
    502   (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。 
    503   (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。 
    504   (网关超时)  服务器作为网关或代理,但是没有及时从上游服务器收到请求。 
    505   (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

    文章来源:https://www.cnblogs.com/cjwxf/p/6186287.html

    展开全文
  • 系统维护的时候难免会遇到进程的状态的查询和管理,到底什么是R,有的是S,有的还是S+呢?一直有些混沌的问题,今天细细的来总结一下:    PS是用来报告系统中程序执行状况的命令这个是无可厚非的...

    系统维护的时候难免会遇到进程的状态的查询和管理,到底什么是R,有的是S,有的还是S+呢?一直有些混沌的问题,今天细细的来总结一下:

       PS是用来报告系统中程序执行状况的命令这个是无可厚非的,linux进程的状态:

    D    不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生
    R   正在运行或可运行(在运行队列排队中)
    S   可中断睡眠 (休眠中, 受阻, 在等待某个条件的形成或接受到信号)
    T   已停止的 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行
    W   正在换页(2.6.内核之前有效)
     X   死进程 (未开启)
     Z   僵尸进程  进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放BSD风格的
     <   高优先级(not nice to other users)
     N   低优先级(nice to other users)
     L   页面锁定在内存(实时和定制的IO)
     s   一个信息头
     l   多线程(使用 CLONE_THREAD,像NPTL的pthreads的那样)
     +   在前台进程组
    

    举个例子:

    [test@pan ~]$ ps -aux
    USER     PID    %CPU    %MEM    VSZ  RSS     TTY   STAT  START       TIME     COMMAND
    root         1      0.0        0.0       1672  516       ?        S       Apr21      0:00    init [5]        
    root         2      0.0        0.0           0    0       ?        S       Apr21      0:00    [migration/0]
    root         3      0.0        0.0           0    0       ?        SN      Apr21      0:00    [ksoftirqd/0]
    root         4      0.0        0.0           0    0       ?        S       Apr21      0:00    [migration/1]
    root         5      0.0        0.0          0    0        ?        SN      Apr21      0:00    [ksoftirqd/1]
    root         6      0.0        0.0          0    0        ?        S       Apr21      0:00    [migration/2]
    

    其中这个参数来列出所有的信息以提供自己检查程序的问题!在上面的程序列出当中,说明如下:
    USER:说明该程序是属于哪一个人的;
    PID:该程序的代号;
    %CPU:代表该程序使用了多少 CPU 资源;
    %MEM:代表该程序使用了多少的 RAM ;
    VSZ, RSS:占去的 ram 的大小( bytes );
    TTY:是否为登入者执行的程序?若为 tty1-tty6 则为本机登入者,若为 pts/?? 则为远程登入者执行的程序
    STAT:该程序的状态
    START:该程序开始的日期;
    TIME:该程序运行的时间?
    COMMAND:该程序的内容啦!

    展开全文
  • 分别代表是什么意思?1.背景介绍当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。 当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应...
  • Http状态码200,300,404,500等是什么意思

    千次阅读 2018-11-30 20:12:49
    学习网页设计的时候都应该知道状态码,但我们常见的状态码都是200,404,下面介绍其他的状态值 1开头的http状态码 表示临时响应并需要请求者继续执行操作的状态代码。 100 (继续) 请求者应当继续提出请求。 ...
  • 返回结果的HTTP状态码分别代表什么意思? 本篇博客总结自《图解HTTP》,内容没有复制粘贴,纯手打(也为了自己记的更牢)???? 文章目录返回结果的HTTP状态码分别代表什么意思状态码类别2xx成功200 OK204 No ...
  • http状态码 200、404什么意思

    千次阅读 2018-08-23 11:08:12
    学习网页设计的时候都应该知道状态码,但我们常见的状态码都是200,404,下面介绍其他的状态值 1开头的http状态码 表示临时响应并需要请求者继续执行操作的状态代码。 100 (继续) 请求者应当继续提出请求。 ...
  • 本文转自:...意思就是说,VM使用的是虚拟的网卡,也就是说VM虚拟机的网卡不是真实存在的,而桥接还有其他的网路链接方式,都是必须存在网
  • HTTP 304 返回状态码的意思什么

    千次阅读 2016-12-09 10:45:26
    转载: ... Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If...如果客户端请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么请求中会包含 If Modified Since ,这个时间
  • 软件签名一致是什么意思

    千次阅读 2020-11-28 10:42:29
    导读:很多人都可能遇见游戏下载好了安装的时候,说的是签名一致,是什么意思,型号s850t 或者说软件签名冲突,能升级怎么办,软件签名异常手机如何能安装等等问题: 软件签名一致是什么意思 签名一致是说你...
  • 目录 1.背景介绍 2.HTTP状态码分类 3.常见的http状态码 1.背景介绍 当浏览者访问一个网页时,浏览者的...HTTP状态码由三个十进制数字组成,三位数字代码分别代表着不同的请求状态,第一个十进制数字定义了状态...
  • UNINTERRUPTIBLE) 可中断的睡眠状态 R (TASK_RUNNING) 正在运行,或队列中的进程 S (TASK_INTERRUPTIBLE) 可中断的睡眠状态 T (TASK_STOPPED) 停止状态 t (TASK_TRACED) 被跟踪状态 Z (TASK_DEAD - ...
  • 网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于404状态页面设置...
  • 网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于404状态页面设置...
  • 什么状态机?

    千次阅读 2020-10-23 11:30:27
    状态实际工作开发中应用非常广泛,刚进入公司的时候,根据公司产品做流程图的时候,发现自己经常会漏了这样或那样的状态,导致整体流程会有问题,后来知道了状态机这样的东西,发现用这幅图就可以很清晰的表达...
  • 支付宝返回状态resultStatus意思

    千次阅读 2018-10-24 11:56:00
    什么80%的码农都做了架构师?>>> ...
  •  一些常见的状态码为:  200 - 服务器成功返回网页  404 - 请求的网页存在  503 - 服务器超时        下面提供 HTTP 状态码的完整列表。点击链接可了解详情。您...
  • 什么才是状态机?什么又是状态

    万次阅读 2009-08-31 20:06:00
    一关于状态机的认识 最近我正在重新认识状态机的一些内容,这个东西很重要至少目前我知道无论是硬件和软件上面都有状态机这个东西,而控制现代控制理论里也有状态方程的概念,并且几乎是现代控制理论的基石,...
  • HTTP协议为什么是无状态的?无状态指的是什么

    千次阅读 多人点赞 2019-03-15 17:59:26
    状态含义:  无状态是指协议对于事务处理没有记忆功能。缺少状态意味着,假如后面的...另一方面,服务器需要前面信息时,应答就较快。直观地说,就是每个请求都是独立的,与前面的请求和后面的请求都是没有...
  • 404 not found是什么意思

    千次阅读 2020-05-15 21:26:53
    相信很多人都会遇到404,也有很多人遇到404知道是什么意思,也知道怎么解决,下面我们php中文网就为大家全面解答一下404 not found是什么意思。 打造全网web前端全栈资料库(总目录)看完学的更快,掌握的...
  •  D 可中断 Uninterruptible sleep (usually IO)  R 正在运行,或队列中的进程  S 处于休眠状态  T 停止或被追踪  Z 僵尸进程  W 进入内存交换(从内核2.6开始无效)  X 死掉的
  • HTTP 状态响应码 意思详解/大全

    万次阅读 2014-06-10 14:58:43
    HTTP 状态响应码 意思详解/大全 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC ...
  • 面试中被问到HTTP协议是有状态还是无状态的,当场就有点懵,因为不会就没答出来。还是得总结一下啵! 一、HTTP协议的状态 HTTP是一种无状态协议,即服务器保留与客户交易时的任何状态。 也就是说,一次的...
  • 什么是EMO?我emo了是什么意思

    万次阅读 2021-02-27 18:56:07
    “我emo了”的意思就是我抑郁了。 当然这么表述的人一般也不是真正抑郁,只是一种自我调侃的说法而已。 二、扩展知识 1. 音乐风格 Emo最早是一种音乐类型,起源于20世纪末期,译作 情绪摇滚 或 情感...
  • 丢包是什么意思

    千次阅读 2019-07-31 10:01:34
    丢包,顾名思义,通信...网络中数据的传输是以发送和接收数据包的形式传输的,理想状态下是发送了多少数据包就能接收到多少数据包,但是由于信号衰减、网络质量等等诸多因素的影响下,并会出现理想状态的结果,...
  • 有人肯定遇到跟我一样的问题,账号里还有一些eth,但是有一笔交易一直处于pending状态,导致后续的交易全部卡死。除非这一笔pending状态的交易被矿工打包。请注意nonce,由于每一个账号的每一个交易nonce都是递增的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 574,911
精华内容 229,964
关键字:

不在状态上是什么意思