zoukankan      html  css  js  c++  java
  • [VRclassroom开发之三]java聊天室中服务器主动向所有用户发送系统消息

    这些天一直在研究java的多线程机制,中间小总结一下。

    java多线程中主要概念有任务、线程、gui事件分发线程、多线程、线程池、

    1.任务:实现Runnable接口的类,并重写run()方法实现任务。

    2.线程:一般通过以任务实例为参数的Thread构造函数创建线程实例。Thread myTask = new Thread(myWork);

    (虽然可以直接通过继承Thread类创建线程类进而创建线程实例,但推荐使用这种方法,可将任务和线程分离)

    3.gui事件分发线程:gui的事件处理和绘图代码均在 事件分发线程 这个单一线程中执行。可以通过

    public static void invokeLater(Runnable doRun) 

    把任务加入到事件分发线程中执行,可以确保不发生死锁。

    4.多线程并发执行:为及时响应、提高资源利用率(并发性的优点),可以为长期执行的任务、经常由于资源欠缺处于阻塞态的任务单独创建线程。

    例如:在Swing图形化编程时,当点击按钮触发一个长期执行的任务时,再点击其他控件时,程序会没有任何反应直到此任务结束。

    5.线程池:单个任务创建单个线程用Thread类,为大量任务创建线程应该用线程池。

    public static ExecutorService newCachedThreadPool()
    public static ExecutorService newFixedThreadPool(int nThreads)

    6.线程同步:防止多个进程同时访问共享数据,通过同步方法、同步语句、加“显性锁”防止出现资源冲突,保证线程安全

    7.线程间协作:“条件锁”实现。

    ╮(╯▽╰)╭,还是不会写博客。。。

     
  • 相关阅读:
    基础问题汇总
    c primer plus 习题答案(5)
    c primer plus 习题答案(4)
    c primer plus 习题答案(3)
    c primer plus 习题答案(2)
    c primer plus 习题答案(1)
    渲染引擎之材质系统
    渲染引擎之坐标变换
    渲染引擎之底层视角
    渲染引擎之渲染管线
  • 原文地址:https://www.cnblogs.com/wanping/p/2405122.html
Copyright © 2011-2022 走看看