java
watermelonice
这个作者很懒,什么都没留下…
展开
-
java基础之线程等待唤醒机制(适合小白)
今天我们来聊聊线程中的等待唤醒机制。java中线程有以下六种状态:新建状态,阻塞状态,运行状态,死亡状态,休眠状态以及无限等待状态。当我们手动new一个Thread或者其子类的时候,此时线程就处于新建状态(NEW)。调用start方法,如果CPU此时处于空闲状态(该线程抢夺到CPU执行时间),则该线程进入运行状态(RUNNABLE),否则进入阻塞状态(BLOCKED)准备抢夺下一次CPU执...原创 2019-11-21 23:28:10 · 198 阅读 · 0 评论 -
java基础之线程同步机制(适合纯小白)
上文我们聊到了如何创建多线程的两种方式,现在有如下场景。假设存在一个电影院,现在有100张票等待出售,同时有三个窗口出售电影票。代码如下:为了让效果更明显,这里让线程等待了10millis。接下来我们在main方法中创建三个线程来“买票”运行代码,得到如下结果:售票竟然出现了重复的票,还出现了不存在的票。这是为什么呢?票 我们可以看作是一个公共资源。为了让...原创 2019-11-14 00:30:22 · 196 阅读 · 0 评论 -
java基础之多线程实现方式(适合小白)
这是笔者的第一篇博客,不喜轻喷。。。 在各位大佬的java之路上的第一个程序十有八九是一个在main方法中打印“Hello world”。这便是一个最为简单的单线程程序。 关于进程和线程之间的关系,网上的专业解释并不少,这里不再赘述。下面给出win10系统下的任务管理器-详细信息界面。这里的idea64就是一个进程。在cpu使用抢占式调度策略下,可以通过设置改进程的优先级使...原创 2019-11-10 19:52:07 · 140 阅读 · 0 评论