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

用c 做的网站怎么打开子域名ip

用c 做的网站怎么打开,子域名ip,衡水做网站的公司,wordpress 去掉下划线目录 #x1f923;一.线程与进程的概念与联系#xff1a; 进程的基本概念#xff1a; 线程的基本概念#xff1a; 进程和线程的区别与联系#xff1a; #x1f643;代码执行实列#xff1a; 1.通过继承Thread父类来实现多线程 2.通过实现Runnable接口来实现多线程…目录 一.线程与进程的概念与联系 进程的基本概念 线程的基本概念 进程和线程的区别与联系 代码执行实列 1.通过继承Thread父类来实现多线程 2.通过实现Runnable接口来实现多线程 3.通过Lambda表达式来实现多线程: Thread类的常见属性和构造方法: 一.线程与进程的概念与联系 一张漫画生动阐明进程进程与线程的关系 进程的基本概念 什么是进程→ 定义进程是一个具有一定独立功能的程序在一个数据集合上依次动态执行的过程。进程是一个正在执行的程序的实例包括程序计数器寄存器和程序变量的当前值。 进程有哪些特征→ 1.进程依赖于程序的运行而存在进程是动态的程序是静态的 2.进程是操作系统进行资源分配和调度的一个独立单位CPU除外线程是处理器任务调度和执行的基本单位 3.每个进程拥有独立的地址空间地址空间包括代码区数据区和堆栈区进程之间的地址空间是间隔的互不影响 线程的基本概念 什么是线程 定义一个线程就是一个“执行流”每个线程之间都可以按照顺序执行自己的代码多个线程之间“同时”执行着多份代码 为什么要用到线程 ⾸先, 并发编程 成为 刚需 为了充分利用CPU的资源避免出现“一核工作多核围观”的情况我们可以通过编写特殊的代码把多个CPU核心充分利用起来这样的代码就称为“并发编程”多进程的编程就是一种典型的并发编程。虽然多进程能够解决问题但是随着对于效率的要求越来越高就希望有更好的方法来实现并发编程。而多进程的编程最大的问题就是进程太“重”创建进程/销毁进程的开销比较大时间空间一旦场景需要频繁的创建和销毁进程开销就非常明显了→最典型的是服务器开发针对每一个发出请求的客户端都创建一个单独的进程由这个进程负责给客户端提供服务。为了解决进程开销比较大的问题就发明了线程Thread线程可以理解为更加轻量级的进程也能解决开发并发程序的问题但是创建/销毁的开销要比进程更低。 进程和线程的区别与联系 1.进程包含线程 一个进程里至少包含一个线程主线程也可以包含多个线程。不能没有线程 2.进程是系统分配资源的基本单位 3.线程是系统调度执行的基本单位 4.同一个进程里的线程之间共用一份系统资源内存硬盘网络宽带等尤其是内存资源就是代码中定义的变量/对象等信息编程中多个线程是可以共用同一份变量的~5.多线程是当下实现并发编程的主流方式通过多线程就可以充分利用好多核CPU。但是也不是线程数目越多就越好线程数目达到一定程度把多个核心都利用充分之后此时继续增加线程无法再提高效率甚至可能会影响效率线程的调度也是有开销的6.多个线程之间可能会互相影响线程安全问题。一个线程抛出异常也可能会把其他线程一起带走 7.多个进程之间一般不会互相影响一个进程奔溃了不会影响到其他进程进程的隔离性 代码执行实列 1.通过继承Thread父类来实现多线程 //1.通过继承Thread父类来实现进程 class MyThread extends Thread{Overridepublic void run(){//这里写的代码就是即将创建的线程要执行的逻辑while(true){System.out.println(hello thread);try {Thread.sleep(1000);} catch (InterruptedException e) {//throw new RuntimeException(e);e.printStackTrace();}}} } public class Demo1 {public static void main(String[] args) throws InterruptedException {MyThread t new MyThread();//创建线程-运行hello main 和 hello thread 并发执行同时打印t.start();//run 不会创建线程也是再主线程中执行逻辑//t.run();只循环打印hello threadwhile(true){System.out.println(hello main);Thread.sleep(1000);}} }也可以通过匿名内部类来实现 //通过匿名内部类来创建多线程 public class Demo3 {public static void main(String[] args) throws InterruptedException {Thread t new Thread(){Overridepublic void run(){while(true){System.out.println(hello thread);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}};t.start();while(true){System.out.println(hello main);Thread.sleep(1000);}} }运行结果 2.通过实现Runnable接口来实现多线程 //2.通过实现Runnable接口来实现多线程 class MyRunnable implements Runnable{//描述线程里要完成的逻辑是啥Overridepublic void run() {while(true){System.out.println(hello thread);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}} } public class Demo2 {public static void main(String[] args) throws InterruptedException {MyRunnable runnable new MyRunnable();Thread t new Thread(runnable);t.start();while(true){System.out.println(hello main);Thread.sleep(1000);}} }也可以通过匿名内部类来实现 public class Demo4 {public static void main(String[] args) throws InterruptedException {//通过匿名内部类来编写Thread t new Thread(new Runnable() {Overridepublic void run() {while(true){System.out.println(hello thread);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}});t.start();while(true){System.out.println(hello main);Thread.sleep(1000);}} }3.通过Lambda表达式来实现多线程: //通过lambda表达式来进行编写 public class Demo5 {public static void main(String[] args) throws InterruptedException {Thread t new Thread(()-{while(true){System.out.println(hello thread);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}});t.start();while(true){System.out.println(hello main);Thread.sleep(1000);}} }Thread类的常见属性和构造方法: Thread类常见的构造方法 Thread类常见的属性 public class Demo6 {public static void main(String[] args) {Thread t new Thread(()-{while(true){System.out.println(hello thread);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}},自定义线程);//-线程名字为自定义线程t.start();System.out.println(线程ID : t.getId());System.out.println(线程名字: t.getName());System.out.println(线程状态: t.getState());System.out.println(线程执行顺序: t.getPriority());} }运行结果 Runnable正在运行实际上Java没有Running这个线程状态把正在CPU上运行和随时可以调度到CPU上运行的都统称为Runnable 前台线程后台线程 后台线程如果这个线程执行过程中不能阻止进程结束虽然线程执行着但是进程就要结束了此时这个线程也会随之被带走这样的线程就称为“后台线程” 前台线程如果某个线程执行过程中能阻止进程的结束此时这个线程就是“前台线程” 前台线程和后台线程主要是影响程序的退出 public class Demo7 {//设置前public static void main1(String[] args) {Thread t1 new Thread(()-{while(true){System.out.println(hello thread);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}});t1.start();}//设置后public static void main(String[] args) {Thread t2 new Thread(()-{while(true){System.out.println(hello thread);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}});//把 t 设置线程为后台线程守护线程不能在阻止程序结束了t2.setDaemon(true);t2.start();} }结语 写博客不仅仅是为了分享学习经历同时这也有利于我巩固知识点总结该知识点由于作者水平有限对文章有任何问题的还请指出接受大家的批评让我改进。同时也希望读者们不吝啬你们的点赞收藏关注你们的鼓励是我创作的最大动力
http://www.hkea.cn/news/14561586/

相关文章:

  • 做个网站每年都要交域名费吗wordpress添加小说板块
  • 有关网站设计的文章云南网站建设公司哪家好
  • 网站如何做定级备案简单wordpress
  • 学校门户网站建设的意义十大软件app排行免费
  • 深圳网站定制价格低广州网站开发棋牌
  • 婚恋网站建设方案网页设计与制作公告栏
  • 亿联网络 网站友情链接出售平台
  • 旅游电商网站建设方案义乌网站建设方案详细
  • 商务网站规划建设与管理答案长春网站制作的公司哪家好
  • 做的网站在不同浏览器seo网站编辑专业
  • 在线设计海报的网站wordpress手机不能访问
  • 网站建设维护一年费用找相似图片 识别
  • 怎样找素材做网站谷歌 chrome 浏览器
  • 上海市住房和城乡建设部官方网站电商网站新闻怎么做
  • 即墨网站制作许昌抖音推广公司
  • 手机访问pc网站跳转传奇网页版在线玩
  • 建设信息网站网站 测速度
  • 官方网站建设合同建立微信群的步骤
  • wordpress站群插件c2c网站程序多少钱
  • 网站开发比较流行的框架浙江建筑公司排名前100
  • 网站是怎么做的吗漳州网站开发制作棋牌
  • 做哪个网站的人多济南建站免费模板
  • 多语种网站建设哪个视频网站做视频最赚钱
  • 网站备案 排名影响郑州网约车
  • 网站主机空间价格如何分析对手网站关键词
  • 寻亲网站开发设计文档梅州免费建站找哪家
  • 网站视频如何保存京津冀协同发展英文
  • 初中生电脑作业做网站黄骅做网站|黄骅网站|黄骅百度优化|黄骅百度推广|黄骅微信|黄骅
  • 京东商城的网站建设蓝白清爽企业通用wordpress模板
  • 在网站上卖东西怎么做minty wordpress