java学习之路---线程(重点)
class
ThreadDemo
extends
Thread{
private
String
userName
;
public
String getUserName() {
return
userName
;
public
void
setUserName(String userName) {
this
.
userName
= userName;
public
ThreadDemo(String userName) {
this
.
userName
= userName;
@Override
public
void
run() {
for
(
int
i=1;i<10;i++){
System.
out
.println(
userName
+i);
public
static
void
main(String[] args) {
new
ThreadDemo (
"线程A"
);
new
ThreadDemo (
"线程B"
);
class
ThreadDemo
extends
Thread{
private
String
userName
;
public
String getUserName() {
return
userName
;
public
void
setUserName(String userName) {
this
.
userName
= userName;
public
ThreadDemo(String userName) {
this
.
userName
= userName;
@Override
public
void
run() {
for
(
int
i=1;i<10;i++){
out
.println(
userName
+i);
public
static
void
main(String[] args) {
new
ThreadDemo (
"线程A"
);
new
ThreadDemo (
"线程B"
);
public
synchronized
void
start() {
/**
if
(
threadStatus
!= 0)
throw
new
IllegalThreadStateException();
/* Notify the group that this thread is about to be started
group
.add(
this
);
boolean
started =
false
;
try
{
true
;
finally
{
try
{
if
(!started) {
group
.threadStartFailed(
this
);
catch
(Throwable ignore) {
/* do nothing. If start0 threw a Throwable then
private
native
void
start0();
class
ThreadDemo
extends
Thread{
private
String
userName
;
public
String getUserName() {
return
userName
;
public
void
setUserName(String userName) {
this
.
userName
= userName;
public
ThreadDemo(String userName) {
this
.
userName
= userName;
@Override
public
void
run() {
for
(
int
i=1;i<10;i++){
out
.println(
userName
+i);
public
static
void
main(String[] args) {
new
ThreadDemo(
"线程A"
);
new
ThreadDemo(
"线程B"
);
java.lang.IllegalThreadStateException
Thread.java:682
)
ThreadDemo.java:34
)
MyTread
implements
Runnable{
private
Integer
ticket
=10;
public
void
run() {
public
synchronized
void
fun(){
for
(
int
i=0;i<100;i++){
if
(
ticket
>0){
out
.println(
"卖票: ticket="
+
ticket
--);
class
ThreadDemo1{
public
static
void
main(String[] args) {
new
MyTread();
new
Thread(myTread).start();
new
Thread(myTread).start();
new
Thread(myTread).start();
MyTread
implements
Runnable{
private
Integer
ticket
=10;
public
void
run() {
for
(
int
i=0;i<100;i++){
if
(
ticket
>0)
out
.println(
"票号"
+
ticket
--);
class
ThreadDemo1{
public
static
void
main(String[] args) {
new
MyTread();
new
Thread(myTread).start();
new
Thread(myTread).start();
new
Thread(myTread).start();
MyTread
implements
Runnable{
private
Integer
ticket
=10;
public
void
run() {
for
(
int
i=0;i<100;i++){
if
(
ticket
>0)
out
.println(Thread.currentThread().getName()+
"票号"
+
ticket
-- );//取得线程名称,如果自己没有给名称,那么程序就会自动付给一个名称
public
Thread (Runnable target) {
null
, target,
"Thread-"
+ nextThreadNum(), 0);
private
static
synchronized
int
nextThreadNum () {
return
threadInitNumber
++;
class
ThreadDemo1 {
public
static
void
main(String[] args) {
new
MyTread();
new
Thread(myTread).start();
new
Thread(myTread).start();
new
Thread(myTread).start();
MyTread
implements
Runnable{
private
Integer
ticket
=10;
public
void
run() {
for
(
int
i=0;i<100;i++){
if
(
ticket
>0)
out
.println(Thread.currentThread().getName()+
"票号"
+
ticket
-- );
class
ThreadDemo1 {
public
static
void
main(String[] args) {
new
MyTread();
new
Thread(myTread,
"A线程"
).start();
//自己给线程名称
new
Thread(myTread,
"like"
).start();
new
Thread(myTread).start();
MyTread
implements
Runnable{
private
Integer
ticket
=10;
public
void
run() {
for
(
int
i=0;i<100;i++){
if
(
ticket
>0){
try
{
catch
(InterruptedException e) {
out
.println(Thread.currentThread().getName()+
"票号"
+
ticket
-- );
class
ThreadDemo1 {
public
static
void
main(String[] args) {
new
MyTread();
new
Thread(myTread,
"A线程"
).start();
//自己给线程名称
new
Thread(myTread,
"like"
).start();
new
Thread(myTread).start();
ticket
-- ,而另一个线程就已经进入
MyTread
implements
Runnable{
private
Integer
ticket
=10;
public
void
run() {
for
(
int
i=0;i<100;i++){
if
(
ticket
>0){
try
{
catch
(InterruptedException e) {
out
.println(Thread. currentThread().getName()+
"票号"
+
ticket
-- );
class
ThreadDemo2 {
public
static
void
main(String[] args) {
new
MyTread();
new
Thread(myTread,
"A线程"
);
//自己给线程名称
out
.println (
"线程是否启动"
+t.isAlive());
//启动线程
out
.println (
"线程是否启动"
+t.isAlive());
new
Thread(myTread,
"like"
).start();
new
Thread(myTread).start();
MyTread
implements
Runnable{
private
Integer
ticket
=10;
public
void
run() {
for
(
int
i=0;i<100;i++){
if
(
ticket
>0){
try
{
catch
(InterruptedException e) {
out
.println(Thread.currentThread().getName()+
"票号"
+
ticket
-- );
class
ThreadDemo2 {
public
static
void
main(String[] args) {
new
MyTread();
new
Thread(myTread,
"A线程"
);
//自己给线程名称
out
.println(
"线程是否启动"
+t.isAlive());
//启动线程
for
(
int
i=0;i<10;i++){
if
(i>2){
try
{
//线程的强制惊醒
catch
(InterruptedException e) {
//
TODO
Auto-generated catch block
out
.println(
"线程是否启动"
+t.isAlive());
new
Thread(myTread,
"like"
).start();
new
Thread(myTread).start();
MyTread1
implements
Runnable{
private
Integer
ticket
=10;
public
void
run() {
for
(
int
i=0;i<100;i++){
if
(
ticket
>0){
try
{
catch
(InterruptedException e) {
out
.println(
"A线程被中止"
);
return
;
out
.println(Thread.currentThread().getName()+
"票号"
+
ticket
-- );
class
ThreadDemo2 {
public
static
void
main(String[] args) {
new
MyTread1();
new
Thread(myTread,
"A线程"
);
//自己给线程名称
out
.println(
"线程是否启动"
+t.isAlive());
//启动线程
try
{
catch
(InterruptedException e) {
//
TODO
Auto-generated catch block
out
.println(
"线程是否启动"
+t.isAlive());
new
Thread(myTread,
"like"
).start();
new
Thread(myTread).start();
true
);
MyTread1
implements
Runnable{
private
Integer
ticket
=10;
public
void
run() {
for
(
int
i=0;i<100;i++){
if
(
ticket
>0){
try
{
catch
(InterruptedException e) {
out
.println(
"A线程被中止"
);
out
.println(Thread.currentThread().getName()+
"票号"
+
ticket
-- );
class
ThreadDemo2 {
public
static
void
main(String[] args) {
new
MyTread1();
new
Thread(myTread,
"A线程"
);
//自己给线程名称
new
Thread(myTread,
"like"
);
new
Thread(myTread);
MAX_PRIORITY
);
//设置线程优先级,最大10
MIN_PRIORITY
);最小1
NORM_PRIORITY
);5
//启动线程
class
ThreadDemo2 {
public
static
void
main(String[] args) {
out
.println(Thread.currentThread().getPriority());
//获取主方法的优先级
MyTread1
implements
Runnable{
private
Integer
ticket
=10;
public
void
run() {
for
(
int
i=0;i<100;i++){
if
(
ticket
>0){
out
.println(Thread.currentThread().getName()+
"----->"
);
//获取线程的名字
if
(
ticket
==3){
out
.print(
"线程礼让:"
);
out
.println(Thread.currentThread().getName()+
"票号"
+
ticket
-- );
class
ThreadDemo2 {
public
static
void
main(String[] args) {
new
MyTread1();
new
Thread(myTread,
"A线程"
);
//自己给线程名称
new
Thread(myTread,
"like"
);
new
Thread(myTread);
MAX_PRIORITY
);
//设置线程优先级
MIN_PRIORITY
);
NORM_PRIORITY
);
//启动线程
java学习之路---线程(重点)的更多相关文章
- Java学习之路(转)
Java学习之路(书籍推荐) 一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多 ...
- 新篇章之我的java学习之路下
昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...
- java学习之路之javaSE基础2
java学习之路之javaSE基础2 所有的代码都是引用他人写的. 1.逻辑运算符 //&,|,^,! //int x = 10; //5 < x < 15 //x > 5 ...
- java学习之路之javaSE基础1
<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...
- java学习笔记15--多线程编程基础2
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...
- JAVA学习之路与大家分享
这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...
- Java 学习之路 -- day00
Java 学习之路 -- day00 Typora 快捷键操作 标题:#+空格 2. *斜体* 3. **加粗** 4. **斜体加粗*** 5. ~~删除线~~ 6. > 引用 7. ···分 ...
- (转)如何学习Java技术?谈Java学习之路
51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...
- Java学习之路(书籍推荐)
一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多API的介绍,同样,更新也更频繁. ...
随机推荐
- Android 自定义Button按钮显示样式(正常、按下、获取焦点)
现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的.今天学习自定义Button按钮样式.Button样式修改的是Button的背景 ...
- dom4j 的小小测试
@Test public void gogo() throws IOException{ InputStream in = this.getClass().getClassLoader() .getR ...
- 过虑器 ThreadLocal 权限 监听器 观察者模式
数据的压缩 GzipOutputStream - > > ByteArrayOutputStream. 以下是在某个servlet中对指定的数据进行压缩 package cn.itcast ...
- 【转】Java多线程学习
来源:http://www.cnblogs.com/samzeng/p/3546084.html Java多线程学习总结--线程概述及创建线程的方式(1) 在Java开发中,多线程是很常用的,用得好的 ...
- 【HDOJ】4328 Cut the cake
将原问题转化为求完全由1组成的最大子矩阵.挺经典的通过dp将n^3转化为n^2. /* 4328 */ #include <iostream> #include <sstream&g ...
- UVa 1606 (极角排序) Amphiphilic Carbon Molecules
如果,没有紫书上的翻译的话,我觉得我可能读不懂这道题.=_=|| 题意: 平面上有n个点,不是白点就是黑点.现在要放一条直线,使得直线一侧的白点与另一侧的黑点加起来数目最多.直线上的点可以看作位于直线 ...
- NOI2006最大获利
终于搞明白了…… x到y有边意味着选x必须选y,所以才会有闭合子图中一个点的后继一定也在这个闭合子图中. 接下来按照s连正权,负权连t就ok了 type node=record go,next,c:l ...
- Spark(1) - Getting Started with Apache Spark
Introduction Apache Spark is a general-purpose cluster computing system to process big data workload ...
- I.MX6 android 禁止低电量自动关机
/************************************************************************ * I.MX6 android 禁止低电量自动关机 ...
- Azure HDInsight与Hadoop周边系统集成
Sunwei 9 Dec 2014 1:54 AM 传统的Hadoop系统提供给用户2个非常优秀的框架,MR计算框架和HDFS存储框架,尽管MR已经显得有些老迈而缓慢,但是HDFS还是很多应用系统的 ...