一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java實(shí)現(xiàn)多線程的兩種方式繼承Thread類和實(shí)現(xiàn)Runnable接口的方法

java實(shí)現(xiàn)多線程的兩種方式繼承Thread類和實(shí)現(xiàn)Runnable接口的方法

2020-06-19 11:23jingxian JAVA教程

下面小編就為大家?guī)硪黄猨ava實(shí)現(xiàn)多線程的兩種方式繼承Thread類和實(shí)現(xiàn)Runnable接口的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

實(shí)現(xiàn)方式和繼承方式有什么區(qū)別呢?

*區(qū)別:

*繼承Thread:線程代碼存放在Thread子類run方法中

*實(shí)現(xiàn)Runnable:線程代碼存放在接口的子類的run方法中

*實(shí)現(xiàn)方式的好處:避免了單繼承的局限性

*在定義線程時(shí),建議使用實(shí)現(xiàn)方式,當(dāng)然如果一個(gè)類沒有繼承父類,那么也可以通過繼承Thread類來實(shí)現(xiàn)多線程

*注意:Runnable接口沒有拋出異常,那么實(shí)現(xiàn)它的類只能是try-catch不能throws

*Java對(duì)多線程的安全問題提供了專業(yè)的解決方式就是同步代碼塊synchronized(對(duì)象){需要同步的代碼}

*同步的前提:

*1.有2個(gè)及以上的線程

*2.多個(gè)線程使用用一個(gè)鎖(對(duì)象)

*同步的好處:解決了多線程的安全問題

*同步的弊端:多個(gè)線程需要判斷鎖,較為消耗資源

java" id="highlighter_656025">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package 多線程;
 
class Ticket implements Runnable
{
//  private static int tick = 100;
    private int tick=100;
    Object obj = new Object();//創(chuàng)建一個(gè)對(duì)象或者自己重新寫一個(gè)類來創(chuàng)建一個(gè)對(duì)象下面同步關(guān)鍵字需要用到
    @Override
    public void run()
    {
        while(true)
        {
            synchronized(obj)
//          synchronized(this)
            {
            if(tick>0){
                try {Thread.sleep(10);} catch (Exception e) {   }
                System.out.println(Thread.currentThread().getName()+"...銷售:"+(tick--)+"號(hào)票");
//              tick--;
            }else {
                break;
            }
            }
        }
    }
    
}
public class Test
{
    public static void main(String[] args)
    {
        Ticket t = new Ticket();//創(chuàng)建一個(gè)實(shí)現(xiàn)了Runnable接口的類
        
        //創(chuàng)建4個(gè)多線程對(duì)象并傳遞上面接口對(duì)象給其構(gòu)造方法
        Thread t1 = new Thread(t);//創(chuàng)建了一個(gè)線程
        Thread t2 = new Thread(t);//創(chuàng)建了一個(gè)線程
        Thread t3 = new Thread(t);//創(chuàng)建了一個(gè)線程
        Thread t4 = new Thread(t);//創(chuàng)建了一個(gè)線程
        
        //開啟線程
        t1.start();
        t2.start();
        t3.start();
        t4.start();
    }
}

以上就是小編為大家?guī)淼膉ava實(shí)現(xiàn)多線程的兩種方式繼承Thread類和實(shí)現(xiàn)Runnable接口的方法的全部?jī)?nèi)容了,希望對(duì)大家有所幫助,多多支持服務(wù)器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黑人巨大精品战中国美女 | 91yellow吧字幕网zmff7 | 精品国产欧美精品v | 久久久久久久99精品免费观看 | 亚洲国产成人久久综合区 | 亚洲欧美日韩国产精品影院 | 欧美国产日产精品免费视频 | 精品播放 | 风间由美在线播放 | 91天堂素人97年清纯嫩模 | 蜜桃影像传媒推广 | 亚洲小视频网站 | 妇伦小说 | 国产精品免费久久久久影院小说 | 亚洲精品国产A久久久久久 亚洲精品福利一区二区在线观看 | chinese男同志videos | 精品国产欧美精品v | 久久精品无码一区二区日韩av | chinese圣水黄金调教 | 国产在线观看a | 日本人在线看片 | 免费视频一级片 | 国产成人欧美视频在线 | 色综合中文字幕天天在线 | 亚洲福利视频在线观看 | 日韩在线视频二区 | 国产精品久久久久久久久齐齐 | 丝瓜草莓香蕉绿巨人幸福宝 | 国产玖玖在线 | 美妇在男人胯下哀求 | 高清国产精品久久 | 日韩毛片基地一区二区三区 | 国产成人在线免费观看 | 精品国产一区二区三区在线 | 成人黄色免费网站 | 国产精品边做边接电话在线观看 | 丝瓜茄子绿巨人秋葵榴莲污 | 女明星放荡高h日常生活 | 亚洲日本中文字幕天堂网 | 国产麻豆剧果冻传媒影视4934 | 久久这里只有精品无码3D |