当前位置: 首页 > wzjs >正文

官方网站建设市场营销策划方案书

官方网站建设,市场营销策划方案书,烟台专业做网站,pdf在线看wordpress什么是JUC JUC指的是:Java里的三个包 java.util.concurrentjava.util.concurrent.atomic:原子性java.util.concurrent.locks:lock锁回顾线程和进程 进程 程序执行的一次过程,一个进程包含一个或多个线程。进程是资源分配的单位 …

什么是JUC

    JUC指的是:Java里的三个包

  • java.util.concurrent
  • java.util.concurrent.atomic:原子性
  • java.util.concurrent.locks:lock锁

 

回顾线程和进程

进程

        程序执行的一次过程,一个进程包含一个或多个线程。进程是资源分配的单位

线程

        可以指程序执行过程中,负责实现某个功能的单位。线程是CPU调度和执行的单位

并发

        同一时刻,多个线程交替执行。(一个CPU交替执行线程)

并行

        同一时刻,多个线程同时执行。(多个CPU同时执行多个线程)

    查询cpu核数

public class Test1 {public static void main(String[] args) {//查询cpu核数//CPU 密集型,IO密集型System.out.println(Runtime.getRuntime().availableProcessors());}
}

并发编程的本质

        并发编程的本质是充分利用cpu资源。

    问题:Java真的可以开启线程吗

        不可以。Java创建Thread类调用start方法,底层是把线程放到一个组里面,然后调用一个本地方法start0;方法底层是C++;Java无法操作硬件

Thread部分源码

public synchronized void start() {/*** This method is not invoked for the main method thread or "system"* group threads created/set up by the VM. Any new functionality added* to this method in the future may have to also be added to the VM.** A zero status value corresponds to state "NEW".*/if (threadStatus != 0)throw new IllegalThreadStateException();/* Notify the group that this thread is about to be started* so that it can be added to the group's list of threads* and the group's unstarted count can be decremented. */group.add(this);boolean started = false;try {start0();started = true;} finally {try {if (!started) {group.threadStartFailed(this);}} catch (Throwable ignore) {/* do nothing. If start0 threw a Throwable thenit will be passed up the call stack */}}}//本地方法,底层的C++ java无法直接操作硬件private native void start0();

多线程回顾

线程的几种状态

        新生状态、运行状态、阻塞状态、等待状态(死等)、超时等待状态(过期不候)、停止状态

    Thread.State的源码

public enum State {/*** Thread state for a thread which has not yet started.*/// 新生NEW,/*** Thread state for a runnable thread.  A thread in the runnable* state is executing in the Java virtual machine but it may* be waiting for other resources from the operating system* such as processor.*/// 运行RUNNABLE,/*** Thread state for a thread blocked waiting for a monitor lock.* A thread in the blocked state is waiting for a monitor lock* to enter a synchronized block/method or* reenter a synchronized block/method after calling* {@link Object#wait() Object.wait}.*/// 阻塞BLOCKED,/*** Thread state for a waiting thread.* A thread is in the waiting state due to calling one of the* following methods:* <ul>*   <li>{@link Object#wait() Object.wait} with no timeout</li>*   <li>{@link #join() Thread.join} with no timeout</li>*   <li>{@link LockSupport#park() LockSupport.park}</li>* </ul>** <p>A thread in the waiting state is waiting for another thread to* perform a particular action.** For example, a thread that has called <tt>Object.wait()</tt>* on an object is waiting for another thread to call* <tt>Object.notify()</tt> or <tt>Object.notifyAll()</tt> on* that object. A thread that has called <tt>Thread.join()</tt>* is waiting for a specified thread to terminate.*/// 等待,死死的等待WAITING,/*** Thread state for a waiting thread with a specified waiting time.* A thread is in the timed waiting state due to calling one of* the following methods with a specified positive waiting time:* <ul>*   <li>{@link #sleep Thread.sleep}</li>*   <li>{@link Object#wait(long) Object.wait} with timeout</li>*   <li>{@link #join(long) Thread.join} with timeout</li>*   <li>{@link LockSupport#parkNanos LockSupport.parkNanos}</li>*   <li>{@link LockSupport#parkUntil LockSupport.parkUntil}</li>* </ul>*/// 超时等待TIMED_WAITING,/*** Thread state for a terminated thread.* The thread has completed execution.*/// 终止TERMINATED;}

sleep和wait的区别

  1. sleep是Thread类的本地方法;wait是Object类的方法。
  2. sleep不释放锁;wait释放锁。
  3. sleep可以使用在任何地方;wait必须在同步代码块中
  4. sleep不需要和synchronized关键字一起使用;wait必须和synchronized代码块一起使用。
  5. sleep不需要被唤醒(时间到了自动退出阻塞);wait需要被唤醒。
  6. sleep一般用于当前线程休眠,或者轮循暂停操作;wait则多用于多线程之间的通信。
  7. sleep和wait都需要捕获异常

http://www.dtcms.com/wzjs/28750.html

相关文章:

  • 深圳品牌网站设计专家seo优化包括
  • 网站开发那个好怎么去做网络推广
  • 柳州网站建设找哪家windows优化大师可靠吗
  • 永久建站空间购买11月将现新冠感染高峰
  • 行业网站名录百度发布平台官网
  • 千素网站建设中国的搜索引擎有哪些
  • 多用户商城网站开发班级优化大师怎么加入班级
  • 郑州建网站的好处seo培训价格
  • 北京网站优化对策中国优化网
  • 大学生网站建设结题报告seo网站关键词排名快速
  • 重庆专业网站建设公司哪家好百度收录怎么查询
  • 国家疫情防控最新政策第十版深圳百度推广seo公司
  • 网站策划要遵循的原则中国婚恋网站排名
  • 黄岩城乡住房和建设局网站游戏优化是什么意思
  • 苏州企业管理咨询服务网站及搜索引擎优化建议
  • 德阳网站建设.comseo分析工具有哪些
  • 网站设计就业岗位分析网站制作费用
  • 网站建设惠州国内seo公司
  • 资料查询网站建设合肥网站seo推广
  • 网站首页 选择入口 设计北京seo顾问推推蛙
  • 电商网站网址大全学历提升哪个教育机构好一些
  • wordpress对php版本seo人才网
  • 专业seo网站天津seo排名扣费
  • 网站验证码插件活动营销方案
  • .xyz做网站怎么样网站分为哪几种类型
  • 南宁网站建设推广app定制开发
  • 网站搭建 商城 seo百度刷排名百度快速排名
  • 表格如何给网站做链接地址网络营销课程培训机构
  • 拍卖网站建设需求整合营销推广
  • 南宁网站建设怎么样广告投放优化师