Java 线程是什么-渐入佳境
线程:(一)什么是线程
管哥说:程序中有多个执行流就叫多线程。多线程是多任务的一种特别的形式.
好处:单个程序可以创建多个并发执行的程序来完成各自的任务。
多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。
进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。
一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。
时间轮转片: 每个线程都有自己的寄存器
创建线程的方法:
通过实现 Runnable 接口;
通过继承 Thread 类本身;
通过 Callable 和 Future 创建线程。
开启线程的小例子:

开始实战(一)卖票:
三个窗口同时卖100张票;当票数还有时,就能够卖票(建立三个线程去做同一件事情)
Thread.currentThread().getName();//获取线程优先级高的窗口的名字(此处为系统随机抽取一个优先级高的窗口) 卖票程序,多线程即多窗口同时卖100张票,此处注意系统打印是没有先后顺序的

结果:
窗口:窗口2正在卖第100张票
窗口:窗口2正在卖第99张票
窗口:窗口2正在卖第98张票
窗口:窗口2正在卖第97张票
窗口:窗口2正在卖第96张票
窗口:窗口2正在卖第95张票
窗口:窗口2正在卖第94张票
窗口:窗口2正在卖第93张票
窗口:窗口2正在卖第92张票
窗口:窗口2正在卖第91张票
窗口:窗口2正在卖第90张票
窗口:窗口2正在卖第89张票
窗口:窗口2正在卖第88张票
窗口:窗口2正在卖第87张票
窗口:窗口2正在卖第86张票
窗口:窗口2正在卖第85张票
窗口:窗口2正在卖第84张票
窗口:窗口2正在卖第83张票
窗口:窗口2正在卖第82张票
窗口:窗口2正在卖第81张票
窗口:窗口2正在卖第80张票
窗口:窗口2正在卖第79张票
窗口:窗口2正在卖第78张票
窗口:窗口2正在卖第77张票
窗口:窗口2正在卖第76张票
窗口:窗口2正在卖第75张票
窗口:窗口2正在卖第74张票
窗口:窗口2正在卖第73张票
窗口:窗口2正在卖第72张票
窗口:窗口2正在卖第71张票
窗口:窗口2正在卖第70张票
窗口:窗口2正在卖第69张票
窗口:窗口2正在卖第68张票
窗口:窗口2正在卖第67张票
窗口:窗口2正在卖第66张票
窗口:窗口1正在卖第65张票
窗口:窗口1正在卖第64张票
窗口:窗口1正在卖第63张票
窗口:窗口1正在卖第62张票
窗口:窗口1正在卖第61张票
窗口:窗口1正在卖第60张票
窗口:窗口1正在卖第59张票
窗口:窗口1正在卖第58张票
窗口:窗口1正在卖第57张票
窗口:窗口1正在卖第56张票
窗口:窗口1正在卖第55张票
窗口:窗口1正在卖第54张票
窗口:窗口1正在卖第53张票
窗口:窗口1正在卖第52张票
窗口:窗口1正在卖第51张票
窗口:窗口1正在卖第50张票
窗口:窗口1正在卖第49张票
窗口:窗口1正在卖第48张票
窗口:窗口1正在卖第47张票
窗口:窗口1正在卖第46张票
窗口:窗口1正在卖第45张票
窗口:窗口1正在卖第44张票
窗口:窗口1正在卖第43张票
窗口:窗口1正在卖第42张票
窗口:窗口1正在卖第41张票
窗口:窗口1正在卖第40张票
窗口:窗口1正在卖第39张票
窗口:窗口1正在卖第38张票
窗口:窗口1正在卖第37张票
窗口:窗口1正在卖第36张票
窗口:窗口1正在卖第35张票
窗口:窗口1正在卖第34张票
窗口:窗口1正在卖第33张票
窗口:窗口1正在卖第32张票
窗口:窗口1正在卖第31张票
窗口:窗口1正在卖第30张票
窗口:窗口2正在卖第65张票
窗口:窗口2正在卖第29张票
窗口:窗口2正在卖第28张票
窗口:窗口2正在卖第27张票
窗口:窗口2正在卖第26张票
窗口:窗口2正在卖第25张票
窗口:窗口2正在卖第24张票
窗口:窗口2正在卖第23张票
窗口:窗口2正在卖第22张票
窗口:窗口2正在卖第21张票
窗口:窗口2正在卖第20张票
窗口:窗口2正在卖第19张票
窗口:窗口2正在卖第18张票
窗口:窗口2正在卖第17张票
窗口:窗口2正在卖第16张票
窗口:窗口2正在卖第15张票
窗口:窗口2正在卖第14张票
窗口:窗口2正在卖第13张票
窗口:窗口2正在卖第12张票
窗口:窗口2正在卖第11张票
窗口:窗口2正在卖第10张票
窗口:窗口3正在卖第16张票
窗口:窗口3正在卖第8张票
窗口:窗口3正在卖第7张票
窗口:窗口3正在卖第6张票
窗口:窗口3正在卖第5张票
窗口:窗口3正在卖第3张票
窗口:窗口3正在卖第2张票
窗口:窗口3正在卖第1张票
窗口:窗口2正在卖第9张票
窗口:窗口1正在卖第4张票
开始实战(二)刷碗烧水,倒计时
请观看我的上一篇文章。。
Java 线程是什么-渐入佳境的更多相关文章
- Java线程并发:知识点
Java线程并发:知识点 发布:一个对象是使它能够被当前范围之外的代码所引用: 常见形式:将对象的的引用存储到公共静态域:非私有方法中返回引用:发布内部类实例,包含引用. 逃逸:在对象尚未准备 ...
- Java线程的概念
1. 计算机系统 使用高速缓存来作为内存与处理器之间的缓冲,将运算需要用到的数据复制到缓存中,让计算能快速进行:当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存读写了. 缓 ...
- Java 线程池框架核心代码分析--转
原文地址:http://www.codeceo.com/article/java-thread-pool-kernal.html 前言 多线程编程中,为每个任务分配一个线程是不现实的,线程创建的开销和 ...
- 细说进程五种状态的生老病死——双胞胎兄弟Java线程
java线程的五种状态其实要真正高清,只需要明白计算机操作系统中进程的知识,原理都是相同的. 系统根据PCB结构中的状态值控制进程. 单CPU系统中,任一时刻处于执行状态的进程只有一个. 进程的五种状 ...
- 【转载】 Java线程面试题 Top 50
Java线程面试题 Top 50 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员 的欢迎.大多数待遇丰厚的J ...
- 第24章 java线程(3)-线程的生命周期
java线程(3)-线程的生命周期 1.两种生命周期流转图 ** 生命周期:**一个事物冲从出生的那一刻开始到最终死亡中间的过程 在事物的漫长的生命周期过程中,总会经历不同的状态(婴儿状态/青少年状态 ...
- 第23章 java线程通信——生产者/消费者模型案例
第23章 java线程通信--生产者/消费者模型案例 1.案例: package com.rocco; /** * 生产者消费者问题,涉及到几个类 * 第一,这个问题本身就是一个类,即主类 * 第二, ...
- 第22章 java线程(2)-线程同步
java线程(2)-线程同步 本节主要是在前面吃苹果的基础上发现问题,然后提出三种解决方式 1.线程不安全问题 什么叫线程不安全呢 即当多线程并发访问同一个资源对象的时候,可能出现不安全的问题 对于前 ...
- 第21章 java线程(1)-线程初步
java线程(1)-线程初步 1.并行和并发 并行和并发是即相似又有区别: 并行:指两个或者多个事件在同一时刻点发生. 并发:指两个或多个事件在同一时间段内发生 在操作系统中,并发性是指在一段事件内宏 ...
随机推荐
- HDU 4786(最小生成树 kruskal)
题目链接:pid=4786" target="_blank">http://acm.hdu.edu.cn/showproblem.php?pid=4786 Prob ...
- JavaScript-创建第一个自己的类库
通过上一节面向对象和原型的学习. 我们知道了怎样创建一个类,包含类的私有化属性和方法.公有化属性和方法.静态属性和方法.在这里略微回想一下.首先要创建一个类能够通过1.new object().2.利 ...
- my-small.cnf my-medium.cnf my-large.cnf my-huge.cnf
my-small.cnf my-medium.cnf my-large.cnf my-huge.cnf 是 MySQL 默认的几个配置文件.针对不同配置的服务器可以使用不同的配置文件,将你需要的那一个 ...
- pat(A)1041. Be Unique(哈希)
1.链接:点击打开链接 2.代码: #include<cstdio> #include<iostream> #include<cstring> using name ...
- js简易美丽的提示框
<span style="font-size:14px;">function showTips(txt, time, status) { var htmlCon = ' ...
- 【翻译自mos文章】在12c中Create or Truncate Table时非常慢,等待事件为 DFS Lock Handle wait
来源于: Create or Truncate Table Slow in 12c While Waiting for DFS Lock Handle wait (文档 ID 2085308.1) A ...
- HTML的高富帅
1,前端的内容(组成部分有以下三部分) HTML CSS JS 裸体的人 穿上好看的衣服 ...
- form标签中id和name属性的区别
HTML元素的ID和Name属性的区别 一直认为ID和NAME是一样的,两个又可以一起出现,甚是疑惑. 今天BAIDU了一下,才发现里面大有文章.发出来研究研究: 最classical的答案:ID就像 ...
- Node.js 101(2): Promise and async
--原文地址:http://blog.chrisyip.im/nodejs-101-package-promise-and-async 先回想一下 Sagase 的项目结构: lib/ cli.js ...
- SERVLET类常用接口及方法
SERVLET类常用接口及方法 2011-09-09 16:14:43 [size=xx-small]SERVLET类常用接口及方法2007年04月05日 星期四 04:46 P.M.基本类和接 ...