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

国内开源代码网站搜了网推广效果怎么样

国内开源代码网站,搜了网推广效果怎么样,网页制作难吗,asp转换手机网站1. 基本概念: 程序: 程序是一些保存在磁盘上的指令的有序集合,是静态的。程序包括:内存资源、IO资源、信号处理等。(如:XX.exe) 进程: 进程是程序执行的过程,包括了动态…

1. 基本概念:

程序:

        程序是一些保存在磁盘上的指令的有序集合,是静态的。程序包括:内存资源、IO资源、信号处理等。(如:XX.exe)

进程:

        进程是程序执行的过程,包括了动态创建、调度和消亡的整个过程,进程是程序资源管理的最小单位。(当:XX.exe执行后,就会创建进程)

线程:

        线程是操作操作系统能够进行运算调度的最小单位。线程被包含在进程之中,是进程中的实际运作单位,一个进程内可以包含多个线程,线程是资源调度的最小单位。        

协程/纤程:

        协程 Coroutines 是一种比线程更加轻量级的微线程。类比一个进程可以拥有多个线程,一个线程也可以拥有多个协程,因此协程又称微线程和纤程。

2. 线程的启动

public class theardTest {private static class T1 extends Thread{@Overridepublic void run(){for (int i=0;i<10;i++){try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("T1");}}}public static void main(String[] args) {new T1().run();// new T1().start();for (int i=0;i<10;i++){try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("Main");}}}

使用 new T1().run(); 执行结果:

T1
Main
Main
Main
Main
Main
Main
Main
Main
Main
Main

结论:使用 new T1().run(); 方式执行启动线程,会先执行 T1 中的方法,然后再执行主程序 Main方法。

使用 new T1().start(); 方式执行后:

Main
T1
T1
Main
T1
Main
Main
T1
Main
T1
Main

结论:使用 new T1().start(); T1 线程会和主线程抢占资源执行。

面试题:启动(实现)线程的三种方式:

1. 继承 Thread类
2. 实现Runnable类

3. 使用线程池。如: Executors.newCachedThreadPool();

 3. 线程的基本方法

// 当前线程睡眠1000毫秒
Thread.sleep(1000);// 当前线程回到等待队列,重新竞争cpu资源
Thread.yield();// 当 T1线程执行完毕后,才开始执行当前线程
T1.join();

注意:T1.join() 方法 可以确保线程执行的顺序。

4. 线程状态

new 新建状态 ——>start 进入线程 ——>runnable 可执行状态 ——>cpu选中 running 执行状态 ——>blocked 等待状态 ——> terminated 结束状态。

注:一般我们不用stop是停止线程。而是使用 intertupted方法去判断当前线程是否已经中断,去清除状态。

5. synchronized 锁

JVM规范里并没有说明synchronized必须要怎么实现,它只要给一个对象加上锁,才可以去执行锁里的代码,锁的是对象,不是代码。并且,锁定的方法和非锁定的方法会同时执行,这个要注意脏读问题。

并且 synchronized 是可以保证可见性、原子性、有序性的。而 volatile不保证原子性。

synchronized 包括 monitor enter 获取监视器锁、monitor exi 释放监视器锁,这个重要JVM指令,java中每个对象都关联着一个监视器,当线程获取了某一对象的监视器锁,再次获取时,只增加对应的计数,不在重新执行一次获取过程。

这就是 synchronized 的可重入锁,比如:m1方法加了 synchronized ,在m1中调用m2,m2方法也是加了synchronized锁的,但是,m1可以正常调用m2方法。

即:一个同步方法可以调用另外一个同步方法,一个线程已经拥有某个对象的锁,(调用其他方法时)再次申请锁的时候,仍然会得到该对象的锁,只增加对应的计数,这就是获得的锁是可重入的。

synchronized的锁升级

markword 记录这个线程ID(偏向锁)

如果线程争用:升级为 自旋锁(轻量级锁)

10次以后,升级为重量级锁 - OS(向操作系统申请锁)

锁只能升不能降(锁膨胀)。执行时间短《加锁代码),线程数少,用自旋,执行时间长,线程数多,用系统锁

使用锁的注意事项

1. 程序在执行过程中,如果出现异常,默认情况锁会被释放所以,在并发处理的过程中,有异常要多加小心,不然可能会发生不一致的情况。比如,在一个web app处理过程中,多个servlet线程共同访网同一个资源,这时如果异常处理不合适在第一个线程中抛出异常,其他线程就会进入同步代码区,有可能会访问到异常产生时的数据。因此要非常小心前处理同步业务逻超中的异常. 

2. synchronized(Object)不能使用String常量、Integer、Long类型等基础数据类型。

http://www.hkea.cn/news/801617/

相关文章:

  • html5 metro风格网站模板今日新闻事件
  • 网站不在首页显示出来做网络推广
  • 上海网站seo公司网页推广平台
  • 网站服务器租用价格表百度怎么发布自己的广告
  • 经纪人做网站技巧搜索引擎入口yandex
  • 教育网站制作哪家服务好全球外贸采购网
  • 响应式网络网站源码百度关键词查询网站
  • 南京网站制作设计公司网络运营团队
  • 阿里巴巴上怎样做自己的网站seo网站优化网站编辑招聘
  • 网站做付费推广都需要问什么网络热词2022
  • 给男票做网站表白的软件产品市场推广计划书
  • 西安网站制作定制怎么制作自己的个人网站
  • wordpress 如何移动端盐城seo优化
  • asp.net 制作网站开发百度竞价排名软件
  • 百度爱采购推广平台天津网络推广seo
  • 福州市闽侯县建设局网站推广引流吸引人的文案
  • wordpress目录 读写权限泰安短视频seo
  • 东莞建设网站流程澎湃新闻
  • 萧县住房和城乡建设局网站seo排名推广工具
  • 企业网站php模板下载百度百科官网首页
  • 做愛視頻网站在线网页制作网站
  • 织梦pc怎么做手机网站搜索引擎优化的基础是什么
  • 课程建设网站设计源码爱站网反链查询
  • 安徽省建设业协会网站个人网页制作教程
  • 好的摄影网站推荐福州seo顾问
  • html做的好看的网站如何宣传推广产品
  • 微信手机网站制作怎么引流客源最好的方法
  • 宿州建设网站公司前端seo搜索引擎优化
  • 做王境泽表情的网站百度seo关键词优化排名
  • 怎么选择无锡网站建设虚拟主机搭建网站