zoukankan      html  css  js  c++  java
  • 雨课堂知识点总结(十八)

    10-1 Concurrency
    第一题
    以下是计算机系统中的concurrency现象?
    A手机上的一个App通过5G网络访问云端数据
    B四核CPU,执行多道程序
    C使用Observer设计模式的Java程序,其中Subject类和Observer类的执行
    D一亿人同时登录12306网站抢购春运火车票
    E使用JVM参数-XX: +UseConcMarkSweepGC启动的程序,运行时进行GC
    F同一个Java程序内的两个线程,共享一个mutable的
    答案:ABDEF

    第二题
    关于process和thread的说法,不正确的是
    A多个process之间不共享内存,而多个thread之间可共享内存
    BCPU的某个核,在特定时间点只能运行单一process, 但可并行执行多个thread
    C手机上的App通过5G网络访问云服务器的资源,手机上和服务器上运行的是不同的thread而非不同的process
    D一个process可以包含多个thread,一个thread只能在一个process里运行
    答案:BC

    第三题
    关于如何创建thread的说法,不正确的是
    A从Thread类派生子类A,创建线程时(new A()).start()
    B类A实现Runnable接口,并实现其run()方法,创建线程时(new Thread(new A())).run()
    C
    new Thread(new Runnable(){
    public void run() {...};}) .start();
    D
    new Thread(new Runnable(){
    public void run() {...};}).run();
    答案:BD

    第四题
    关于time slicing, interleaving和race condition的说法,正确的是
    ATime slicing由OS决定,但程序员可在代码中进行若干有限度的控制
    B如果某程序执行结果的正确与否依赖于time slicing,那么意味着程序执行中产生了racecondition
    C程序interleaving执行的基本单元是Java代码行
    D同一个并发程序的多次执行中的time slicing可能完全不同,因此bug很难复现,将此类bug形象的称为Bohrbugs
    答案:AB

    第五题
    关于Java Thread的sleep( )和interrput(),不正确的是__
    A若线程的run( )代码中包含Thread.sleep(100),意味着该线程停止执行100ms, CPU交给其他线程/进程使用
    B线程t1中包含代码t1. interrupt(),意味着执行完该语句后t1被终止,不会再获得time slicing
    C线程t1在sleep( )期间可捕获到其他线程发来的中断信号并抛出InterruptedException异常
    D线程若捕获了抛出InterruptedException异常,则自动终止执行
    答案:BD

    第六题
    Thread t = new Thread(new Runnable(){
    public void run(){
    try{
    print("a");
    .*.
    Thread. sleep( 200);
    }catch(InterruptedException e){
    print("b");
    print("c");};});
    t.start();
    t. interrupt();
    某类的main( )代码如上所示,执行后可能的输出结果为
    ac
    abc

    第七题

    如果希望让线程执行结束之后再执行其他线程,即让其他线程暂停,需要调用t.join();
    用于“检测当前线程是否收到其他线程发来的中断信号”的Thread静态方法是Thread. isinterrupted()
    在线程类的run( )方法中有以下代码,如果希望收到中断信号后终止线程执行,则TODO位置的语句应该是return
    try{
    Thread. sleep(1000);
    } catch(InterruptedException e){
    TODO;}
  • 相关阅读:
    多状态场景:后端只记录行为,不记录行为的含义,比如产品定义的状态值含义;行为是客观的,不变的。
    Golang协程池的使用 原创 360质量效能 360质量效能 2021-05-28
    &strct new
    【Golang】图解函数调用栈
    Mybatis-Plus的应用场景及注入SQL原理分析
    倒计时时间到触发事件
    浅析软件供应链攻击之包抢注低成本钓鱼
    腾讯代码安全指南开源,涉及C/C++、Go等六门编程语言 https://mp.weixin.qq.com/s/yzg5uVnoJDTyaH2Wn8Vo7w
    58黄页标签提取及海量多分类优化
    引用站点策略: strict-origin-when-cross-origin 引用站点策略: no-referrer-when-downgrade
  • 原文地址:https://www.cnblogs.com/HIT-ryp/p/10905646.html
Copyright © 2011-2022 走看看