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

那个网站做百科好过销售网站开发的背景

那个网站做百科好过,销售网站开发的背景,百度云做.net网站,mx wordpressjava学习 一.多线程 简介#xff1a;多线程是计算机科学中的一个重要概念#xff0c;它允许程序同时执行多个任务或操作。在单个程序内部#xff0c;多线程使得代码可以并行执行#xff0c;从而提高程序的性能和响应速度。 这里先来介绍一下创建多线程的几种方法。 1.扩展…java学习 一.多线程 简介多线程是计算机科学中的一个重要概念它允许程序同时执行多个任务或操作。在单个程序内部多线程使得代码可以并行执行从而提高程序的性能和响应速度。 这里先来介绍一下创建多线程的几种方法。 1.扩展java.lang.Thread类 我们可以创建一个类继承Thread并且重写里面的run方法将这个线程要去做的事写在run方法里面在主程序实例化一个对象在通过start启动它这样就会创建另外一个子线程去执行run方法里面的功能。 public static void main(String[] args) {Thread t1new Thread1(A);Thread t2new Thread1(B);Thread t3new Thread1(C);t1.start();t2.start();t3.start();} public class Thread1 extends Thread{private String name;public Thread1(String name){this.namename;}Overridepublic void run() {for(int i1;i3;i){System.out.println(name线程执行:i);}} } C线程执行:1 A线程执行:1 B线程执行:1 A线程执行:2 C线程执行:2 A线程执行:3 B线程执行:2 C线程执行:3 B线程执行:3可以看到我们创建的三个子线程的任务交替进行。 为了看的更清楚我们可以加点提示。 public static void main(String[] args) {System.out.println(主线程执行);Thread t1new Thread1(A);Thread t2new Thread1(B);Thread t3new Thread1(C);t1.start();t2.start();t3.start();System.out.println(主线程结束);} 主线程执行 主线程结束 B线程执行:1 A线程执行:1 C线程执行:1 A线程执行:2 B线程执行:2 A线程执行:3 C线程执行:2 B线程执行:3 C线程执行:3 为什么主线程开始和结束都最快呢因为主线程执行到子线程的创建不会停下这也是多线程的优势如果不加多线程主线程会为了执行某个任务而停下所以主线程会执行很快子线程是主线程结束后才来时执行的我们也可以知道运行时会将所有线程的任务执行完才会停止。 2.实现java.lang.Runnable接口 相比于上一个方法当前方式创建子线程更具有优势。 1》继承Thread只能单继承Runnable可以多实现。 2》可以搭配线程池使用 3》适合多个相同的程序代码的线程去处理同一个资源 4》代码可以被多个线程共享代码和数据独立 下面我们看看实现方式 public class Thread1 implements Runnable{private String name;public Thread1(String name){this.namename;}Overridepublic void run() {for(int i1;i3;i){System.out.println(name线程执行:i);}} }public static void main(String[] args) {System.out.println(主线程执行);Thread1 t1new Thread1(A);Thread1 t2new Thread1(B);Thread1 t3new Thread1(C);new Thread(t1).start();new Thread(t2).start();new Thread(t3).start();System.out.println(主线程结束);} 主线程执行 主线程结束 A线程执行:1 B线程执行:1 C线程执行:1 B线程执行:2 A线程执行:2 B线程执行:3 C线程执行:2 A线程执行:3 C线程执行:3 3.实现Callable接口 相比于前面两种方法实现Callable接口可以有返回值还需要借助FutureTask类去获取返回结果。 实现方法 public class Thread1 implements CallableInteger {private int n;public Thread1(int n){this.nn;}Overridepublic Integer call() throws Exception {int sum 0;for (int i 1; i n; i) {sumi;}System.out.println(1-n之间的和sum);return sum;} } public static void main(String[] args) throws Exception {System.out.println(主线程执行);Thread1 t1new Thread1(100);FutureTaskInteger tasknew FutureTask(t1);new Thread(task).start();System.out.println(主线程结束);} 主线程执行 主线程结束 1-100之间的和5050 我们还可以调用FutureTask对象的get()方法去回去返回值。、 4.线程池 简介线程池是一种线程管理机制用于优化多线程的创建、使用和销毁过程。它在程序启动时创建一定数量的线程并将它们保存在一个线程池中。当需要执行任务时线程池中的线程会被重复利用而不是每次都创建新线程从而降低了线程创建和销毁的开销提高了程序的性能和响应速度。 这里搭配Runnable使用 public class Thread1 implements Runnable{Overridepublic void run() {for(int i1;i3;i){System.out.println(Thread.currentThread()线程执行:i);}} } public static void main(String[] args) throws Exception {System.out.println(主线程执行);ThreadPoolExecutor tpoolnew ThreadPoolExecutor(3,5,4,TimeUnit.SECONDS,new LinkedBlockingQueue(10) );Thread1 r1new Thread1();tpool.execute(r1);tpool.execute(r1);tpool.execute(r1);tpool.execute(r1);tpool.shutdown();System.out.println(主线程结束);} 主线程执行 主线程结束 Thread[pool-1-thread-1,5,main]线程执行:1 Thread[pool-1-thread-2,5,main]线程执行:1 Thread[pool-1-thread-3,5,main]线程执行:1 Thread[pool-1-thread-2,5,main]线程执行:2 Thread[pool-1-thread-1,5,main]线程执行:2 Thread[pool-1-thread-2,5,main]线程执行:3 Thread[pool-1-thread-3,5,main]线程执行:2 Thread[pool-1-thread-1,5,main]线程执行:3 Thread[pool-1-thread-2,5,main]线程执行:1 Thread[pool-1-thread-3,5,main]线程执行:3 Thread[pool-1-thread-2,5,main]线程执行:2 Thread[pool-1-thread-2,5,main]线程执行:3 ThreadPoolExecutor里面的参数 依次是开始的线程数最大的线程数-开始的线程数为预备线程数线程存活时间空闲多久后销毁时间格式工作队列。 5.总结 多线程的特点和优势 并发执行多线程允许程序的多部分线程在同一时间片段内并行执行从而实现并发。 资源共享多个线程可以共享相同的内存地址空间这使得数据共享和通信更加容易和高效。 更高的性能在多核或多处理器系统中多线程可以充分利用硬件资源提高程序的执行效率。 提高响应性通过将阻塞或耗时的任务放在单独的线程中执行可以确保用户界面的响应性。 多线程的挑战 同步问题多个线程访问和修改共享数据可能导致数据不一致或冲突需要使用同步机制如互斥锁、信号量等来解决。 死锁和竞态条件不恰当地使用同步机制可能导致死锁或竞态条件这是多线程编程中常见的问题。 调试和测试多线程程序的调试和测试通常比单线程程序更加困难因为需要考虑到各种可能的执行路径和并发条件。 多线程的应用场景 图形用户界面GUI应用程序如浏览器、文本编辑器等通过多线程确保用户界面的流畅和响应。 服务器和网络编程如Web服务器、数据库服务器等通过多线程处理并发请求。 并行计算和数据处理如科学计算、图像处理、机器学习等通过多线程提高计算效率。 总的来说多线程是一种强大的编程模型它可以提高程序的性能和响应速度但同时也带来了一些复杂性和挑战需要开发者有一定的经验和技巧来有效地应用。
http://www.dnsts.com.cn/news/97644.html

相关文章:

  • 办网站费用多少钱品牌形象设计公司
  • 温州网站优化案例哈市哪里网站做的好
  • 网站开发建设公司电话wordpress菜单移到右边
  • 各大网站的名字广告联盟怎么接单
  • 聊城门户网站做旅游网站的论文
  • 客户网站建设完成后需要什么国际重大新闻事件2023
  • 中山网站制作网页免费推广网站哪家好
  • 如何引用网站上的资料做文献cms网站管理系统
  • 在线流程图网站怎么做温州广告网页设计招聘网
  • 西宁做网站君博专注商标网注册查询官网
  • 做网站的上海公司有哪些wordpress顶部通知栏
  • 杭州上城区建设局网站珠海婚恋网站建设市场分析
  • 代运营公司哪家好百度seo网站优化 网络服务
  • html网站搭建各网站文风
  • 做php网站都用框架吗网站开发有前景吗
  • 做网站的公司一年能赚多少钱网站关键词优化办法
  • 九江有没有做网站的公司上海网站备案流程
  • 上海虹口网站建设国内最新新闻事件摘抄
  • wordpress怎样做单页网站学会计哪个培训机构比较正规
  • 长沙移动网站建设做任务的正规网站
  • 广州网站建设知名乐云seo东莞建设监督网站
  • 企业营销型企业网站建设深圳网络优化seo
  • 延安做网站电话内江做网站的公司
  • 网站开发与运维收费明细公司网站最下面突然有乱码
  • 培训网站排名感叹号分销系统
  • ui设计软件培训学校山东搜索引擎优化
  • 重庆论坛建站模板电商运营培训大概多少学费
  • 网页.网站.主页.网址.域名有什么联系石嘴山网站建设公司
  • 如何建立属于个人网站数字广东网络建设有限公司网站
  • 动漫设计与制作专业怎么样南宁seo怎么做优化团队