码迷,mamicode.com
首页 > 编程语言 > 详细

Java:多线程基础(1)

时间:2018-01-25 15:39:39      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:启用   trace   数据   read   暂停   进程   多线程   void   服务   

Java:多线程基础(1)

实现多线程的两种方式

1.继承Thread类

1 public class myThread extends Thread {
2     /**
3      * 继承Thread类,重写RUN方法。
4      */
5     @Override
6     public void run() {
7         super.run();
8     }
9 }

【说明】

  1. 由于Java继承机制,此处不再支持多继承。

2.实现Runnable接口

 1 class myRunable implements Runnable
 2 {
 3     /**
 4      * 实现Runnable接口,实现RUN方法
 5      */
 6     @Override
 7     public void run() {
 8         
 9     }
10 }

3.启用线程

1     public static void main(String[] args) {
2         myThread aThread = new myThread();
3         aThread.start();
4 
5         myRunnable aRunnable = new myRunnable();
6         Thread bThread = new Thread(aRunnable);
7         bThread.start();
8     }

共享数据及线程安全

多个线程访问同一个变量的错误实例

 

 

使用synchronized关键字加锁

 

currentThread()方法

 

isAlive()方法

 

sleep()方法

 

停止线程

 

暂停线程

 

yield方法

 

线程的优先级

在Java中,线程的优先级分为1~10:Java中使用三个预定义的优先级值

1     public static final int MIN_PRIORITY = 1;
2     public static final int NORM_PRIORITY = 5;
3     public static final int MAX_PRIORITY = 10;

说明:

  1. 优先级具有继承性,如果A线程qi dong B xian cheng,ze B xian cheng you xian ji yu A xian cheng shi yi yang de .
  2. youxianjijuyouguizexing
  3. youxianjijuyousuijixing

守护线程

守护线程,是一种特殊的线程,他的特性有陪伴的含义,当进程中不存在非守护线程了,则守护线程自动销毁

守护线程的作用是为其他线程的运行提供便利服务,最典型的应用就是GC(垃圾回收器),它是一个很称职的守护者。

守护进程:

 1 public class DaemonThread extends Thread {
 2     private int i=10;
 3     @Override
 4     public void run() {
 5         while (true)
 6         {
 7             System.out.println(i--);
 8             try {
 9                 Thread.sleep(1000);
10             } catch (InterruptedException e) {
11                 e.printStackTrace();
12             }
13         }
14     }
15 }

测试方法:

1     @Test
2     public void testDaemon() throws Exception {
3         DaemonThread daemonThread = new DaemonThread();
4         daemonThread.setDaemon(true);
5         daemonThread.start();
6         Thread.sleep(5000);
7         System.out.println("我离开守护进程也就不再打印了!");
8     }

 

Java:多线程基础(1)

标签:启用   trace   数据   read   暂停   进程   多线程   void   服务   

原文地址:https://www.cnblogs.com/MrSaver/p/8351032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!