Java 多线程

什么是多线程?(以王者为例子)

1、线程在进程下进行

(单独的英雄角色、野怪、小兵肯定不能运行)

2、进程之间不会相互影响,主线程结束将会导致整个进程结束

(两把游戏之间不会有联系和影响。你的水晶被推掉,你这把游戏就结束了)

3、不同的进程数据很难共享

(两把游戏之间很难有联系,有联系的情况比如上把的敌人这把又匹配到了)

4、同进程下的不同线程之间数据很容易共享

(你开的那一把游戏,你可以看到每个玩家的状态——生死,也可以看到每个玩家的出装等等)

5、进程使用内存地址可以限定使用量

(开的房间模式,决定了你可以设置有多少人进,当房间满了后,其他人就进不去了,除非有人退出)                                                                                              此处学习来自————王二 老师 


 三种创造线程的方法

 1、继承thread

​
​
check t=new check();
        check t1=new check();
        t.setName("线程一");
        t1.setName("线程二");
        t1.start();
        t.start(); //多线程第一种启动方式-->继承thread//

​

​

2、 通过接口runnable;thread类 就能接收myrun

myrun mr=new myrun();

        Thread t1=new Thread(mr);
        Thread t2=new Thread(mr);

        t1.setName("线程1");
        t2.setName("线程2");
        t1.start();
        t2.start();///多线程第二种启动方式-->通过接口runnable;thread类 就能接收myrun;jdk
 

3、通过接口callable运行;再通过futuretask管理,thread类 接收

mycallable mc=new mycallable();
        FutureTask<Integer
        ft=new FutureTask<>(mc);
        Thread t=new Thread(ft);
        t.start();
        Integer result=ft.get();
        System.out.println(result);//多线程第三种启动方式-->通过接口callable运行;再通过futuretask管理,thread类 接收;

上述三种方法中,

第一种方法:扩展性差,但可以直接使用thread类方法

第二种方法:扩展性强,推荐使用

第三种方法:扩展性强,想使用futuretask时可以用

线程的六种状态(“7种”)

新建,就绪,“运行”,死亡,阻塞,等待,计时等待

此处学习来自——————黑马程序员

                                                                           

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值