为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
深入浅出Java多线程_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

深入浅出Java多线程

Arthur JAVA开发工程师
难度入门
时长 4小时 0分
  • Thread常用方法
    查看全部
  • 线程常有的方法
    查看全部
  • Thread.yield();让出处理器时间
    查看全部
  • volatile关键字:线程间可见性
    查看全部
  • 线程常用方法
    查看全部
  • 类和接口
    查看全部
  • thread常用方法
    查看全部
  • 一个进程可以有多个线程 线程共享进程中的内存和数据
    查看全部
  • 要重温
    查看全部
  • thread 常用方法表格
    查看全部
  • 1.进程:是程序或任务的执行的过程,具有动态性,它持有资源(共享内存,共享文件)和线程 2.线程:是系统中最小的执行单元,同一进程中有多个线程。线程共享线程的资源 3.线程交互:即线程通信 4.线程之间存在同步和互斥
    查看全部
  • 多线程5 Thread x2thread = new Thread(x2, “name is x2”); // X2继承于runnable接口, //创建、命名方法和X1不一样 x1athread.start();//起x1athread线程 x1bthread.start();//起x1bthread线程 x2thread.start();//起x2thread线程 try{ Thread.sleep(1000); // 本X线程休眠1秒 } catch ( InterruptedException){ e.printStackTrace(); } x1a.sig = -1; //控制sig来结束线程x1athread x1b.sig = -1; //控制sig来结束线程x1bthread try{ x2thread.join(); // 所有线程暂停,让出资源给x2thread,待x2thread执行完 } catch ( InterruptedException){ e.printStackTrace(); } } public static void main(String[] args){ Thread x = new X(); x.start();// 起X进程,也可以直接new X().start(); } }
    查看全部
    0 采集 收起 来源:总结及展望

    2016-08-27

  • 多线程4 - X2继承于runnable接口: public class X2 implements Runnable{ public void run(){ …//x2线程(runnable)内要做的事 以下举例 system.out.println( Thread.cunrrentThread().getName() );//runnable接口没有getname 方法,只能这么用 …… Thread.yield();//释放处理器资源 …… } } - X继承于Thread类,用来控制X1和X2,还包含了main方法: public class X extends Thread{ public void run(){ X1 x1a = new X1(); X1 x1b = new X1(); X2 x2 = new X2(); Thread x1athread = x1a; //利用了引用多态 创建线程对象 Thread x1bthread = x1b; //利用了引用多态 创建线程对象 x1athread.setName(“name is x1a”);//线程对象的设线程名称方法 x1bthread.setName(“name is x1b”);//线程对象的设线程名称方法
    查看全部
    0 采集 收起 来源:总结及展望

    2016-08-27

  • 多线程3 - X1继承于Thread类: public class X1 extends Thread{ volatile int sig = 1; //引入外部变量sig,便于外部控制线程 fun f = new fun(); public void run(){ …//x1线程内要做的事 以下举例 system.out.println(getName()); //线程的getname方法,打印当前线程的名称 while(sig>0) { //外部可以在处理器资源被释放的间隙 …. // (会重新调度X2或者X继续),X可控制sig来结束线程 f.fun1(); Thread.yield();//释放处理器资源 } } }
    查看全部
    0 采集 收起 来源:总结及展望

    2018-03-22

  • 多线程2 线程的使用举例 - 举例,fuc类用于实现某关键功能,因为要访问关键资源,且资源数大于1,所以要类似生产者-消费者模型那样(回顾:在linux中,资源数大于1,仅靠两个信号量不能实现同步,还要有互斥锁) public class fun{ private final Object lockObj = new Object(); public void fun1(){ synchronized(lockObj){ //互斥锁,相当于linux的mutex while(资源==0){ //说明另一个线程还在占用没有用完 try{ lockObj.wait(); //进入等待状态,相当于等待信号量,等到后相当于P操作 } catch(InterruptedException e){ e.printStackTrace(); } } …..//对某资源进行操作 Thread.sleep(…); //休息一下,但对这个资源的操作并没有结束,这时候会进行 线程切换,由于加了锁,别的线程即使运行也不能动这个资源。但 如果没加锁,别的线程就可能会去动这个资源,带来致命错误。 …..//继续对某资源进行操作 lockObj.notifyAll(); //线程结束,唤醒其他线程,相当于释放信号量V操作 //另外还有个notify()。 } } }
    查看全部
    0 采集 收起 来源:总结及展望

    2016-08-27

举报

0/150
提交
取消
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!