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

为什么会有人攻击我用织梦做的网站舟山市定海区建设规划局网站

为什么会有人攻击我用织梦做的网站,舟山市定海区建设规划局网站,兰州网站制作服务电话,人社部门网站建设后台线程 一个进程中只有后台进程运行#xff0c;该进程将会结束。 新创建的线程默认为前台线程#xff0c;Java中只要有一个前台线程运行#xff0c;就不会结束程序#xff0c;如果只有后台线程运行#xff0c;程序就会结束#xff0c;可以在线程对象启动前执行setDae…后台线程 一个进程中只有后台进程运行该进程将会结束。 新创建的线程默认为前台线程Java中只要有一个前台线程运行就不会结束程序如果只有后台线程运行程序就会结束可以在线程对象启动前执行setDaemon(true)语句设置该线程为后台线程。 class Main {public static void main(String[] args) {System.out.println(main()线程是后台线程吗Thread.currentThread().isDaemon());DaemonThread daemonnew DaemonThread();Thread threadnew Thread(daemon,后台线程);System.out.println(Daemons是后台线程吗thread.isDaemon());thread.setDaemon(true);//设置为后台线程System.out.println(Daemons是后台线程吗thread.isDaemon());thread.start();//模拟主线程main执行int i0;for(;i3;i){System.out.println(i);}} }class DaemonThread implements Runnable {//模拟分线程执行public void run(){while(true){System.out.println(Thread.currentThread().getName()正在运行);}}} 线程的优先级 使用setPriority方法设置优先级为1到10数字越大优先级越高获得CPU的使用权机会越大。 class Main {public static void main(String[] args) {Thread minPriority new Thread(new maxpriority(),优先级较高线程);Thread maxPrioritynew Thread(new minpriority(),优先级较低线程);minPriority.setPriority(Thread.MIN_PRIORITY);//设置优先级为1maxPriority.setPriority(Thread.MAX_PRIORITY);//设置优先级为10//开启两个线程minPriority.start();maxPriority.start();}} class maxpriority implements Runnable{public void run(){for(int i0;i3;i) {System.out.println(Thread.currentThread().getName() 正在输出 i);}}} class minpriority implements Runnable{public void run(){for(int i0;i3;i) {System.out.println(Thread.currentThread().getName() 正在输出 i);}} } 线程休眠 当前线程暂停运行进入阻塞状态哦使用sleep()方法。传入参数单位为毫秒。 sleep调用时只能让当前正在运行的线程休眠 class Main {public static void main(String[] args) {new Thread(new Sleepthread()).start();//开启新线程for(int i1;i8;i){try{ if(i5){Thread.sleep(1000);}System.out.println(主线程正在输出i);Thread.sleep(500);}catch(InterruptedException e){e.printStackTrace();}}}} class Sleepthread implements Runnable{public void run(){for(int i1;i8;i){if(i3){try{Thread.sleep(1000);}catch(Exception e){e.printStackTrace();}}System.out.println(Sleep线程正在输出i);try{ Thread.sleep(500);}catch(Exception e){e.printStackTrace();}}} } 主线程在Sleep线程输出3之前连续输出2,3,4说明此时Sleep线程在输出值3时先休眠了一段时间 另外Sleep线程再输出6之前主线程也连续输出5,6说明此时Sleep在输出6时休眠了一段时间。 线程插队 class Main {public static void main(String[] args) throws Exception {Thread threadnew Thread(new Joinrunable(),thread);thread.start();for(int i1;i4;i){if(i2){thread.join();//调用join()方法插队实现}System.out.println(Thread.currentThread().getName()线程正在输出i);}} } class Joinrunable implements Runnable{public void run(){for(int i1;i3;i){System.out.println(Thread.currentThread().getName()线程正在输出i);}} } main()线程和thread线程互相争夺CPU使用权然后当i3时候 线程生命周期的六种基本状态 1新建状态 创建一个线程对象后还没有调用start()方法启动之前的状态 2可运行状态 就绪状态调用了start()方法之后进入的状态。 3锁阻塞状态 当一个线程想要获取一个对象锁该aii锁被其他线程持有该线程进入锁阻塞状态。 4无限等待状态 一个线程等待另一个线程执行一个唤醒动作该线程进入的状态。 5计时等待状态 具有指定等待时间的状态一直保持到超时或被唤醒 6)被终止状态 终止运行由于正常退出或者异常没有被捕获而结束。 线程让步 某个特定时间点线程暂停抢夺CPU采用yield()方法实现。 class Main {public static void main(String[] args) throws Exception {//新建两个线程Thread th1new Fieldthread(th1);Thread th2new Fieldthread(th2); //开启两个线程th1.start();th2.start();} } class Fieldthread extends Thread {public Fieldthread(String name) {super(name);//调用父类带参构造方法}public void run() {for(int i1;i4;i){System.out.println(Thread.currentThread().getName()线程输出i);if(i2){System.out.println(线程让步);//线程让步Thread.yield();}}} } 线程中断 调用两种方法实现 interrupt()方法和isInterrupted()方法 isInterrupted方法判断中断标志位如果为真表示中断。 class Main {public static void main(String[] args) throws Exception {Thread threadnew Thread(new Runnable() {public void run() {for (int i 0; i 4; i) {if(i2){Thread.currentThread().interrupt();System.out.println(线程是否中断Thread.currentThread().isInterrupted());}}}});//创建实例对象thread.start();//启动线程} } 线程同步 class Main {public static void main(String[] args) throws Exception {Salethread salethread new Salethread();new Thread((salethread),线程1).start();//创建并启动新线程new Thread((salethread),线程2).start();//创建并启动新线程new Thread((salethread),线程3).start();//创建并启动新线程} } class Salethread implements Runnable{private int tickets10;public void run(){while(tickets0){try{Thread.sleep(300);}catch(Exception e){e.printStackTrace();}System.out.println(Thread.currentThread().getName()卖出票号是 tickets--);}} } 结果的票数中出现了0之所以这样是因为每个线程都会先调用sleep方法进入休眠一段时间。即假设票数为3时候线程2先进入while循环然后调用sleepf方法休眠一段时间在此期间票数值不变因为票数只有在最后输出时候才会减少线程3进入while循环然后调用sleep()方法休眠一段时间于此同时然后线程1进入while循环然后调用sleep方法进入休眠最后三个线程依次结束休眠状态相继售票即票数由3变化到0 所以为了安全起见使用同步代码块使得多线程访问处理同一资源时候任何时刻只能由一个线程访问处理。 将共享资源的代码放在synchronizedlock关键字修饰的代码块中。 synchronized(lock){ 处理共享资源的代码块 } lock是指锁即某个线程执行时其他线程不能执行。 class Main {public static void main(String[] args) throws Exception {Salethread salethread new Salethread();new Thread((salethread),线程1).start();//创建并启动新线程new Thread((salethread),线程2).start();//创建并启动新线程new Thread((salethread),线程3).start();//创建并启动新线程} } class Salethread implements Runnable{private int tickets10;Object locknew Object();//定义锁public void run(){while(tickets0){synchronized (lock) { try{Thread.sleep(300);}catch(Exception e){e.printStackTrace();}if(tickets0){ System.out.println(Thread.currentThread().getName()卖出票号是 tickets--);}else{break;}}}} } 同步方法
http://www.w-s-a.com/news/966405/

相关文章:

  • 网站开发的论文题目广告设计排行榜
  • 网络营销网站 功能南京h5制作公司
  • 做网站的费用的会计分录合肥做网站推广哪家好
  • 电子商城网站开发怎么wordpress用的什么主题
  • 榆林电商网站建设网上做试卷的网站
  • 文山网站建设代理中公教育培训机构官网
  • 郑州it培训机构有哪些上海外贸网站seo
  • dw做网站的实用特效广东住房与城乡建设厅网站
  • 模板网站 动易哪方面的网站
  • 怎么给网站做外链邵连虎郑州做网页的公司
  • 重庆网站开发哪家好宁波网站建设caiyiduo
  • 手机网站建设价格手机网站模版更换技巧
  • 哈尔滨松北区建设局网站美妆网站建设
  • 不需要网站备案的空间网站推广的基本方法是哪四个
  • 如何检查网站死链劳动仲裁院内部网站建设
  • 江西省住房和城乡建设网站合同管理系统
  • 网站建设质量保证福州网络推广
  • 高唐网站建设公司广州南站在哪个区
  • 广西柳州网站制作公司郴州网红打卡景点
  • 做网站要固定ip拍摄公司宣传片制作
  • 专业微网站电话号码做软件难吗
  • 邢台网站制作哪家强上海做网站设计
  • 大连网站建设外贸wordpress添加文章属性
  • 商城网站建设合同范本网上哪里可以免费学编程
  • 服务器公司网站博客wordpress怎么编辑
  • 网站建设网络推广柯西乡塘网站建设
  • 企业做网站需要多少钱企业资质查询系统官网
  • 网站建设需要知识百度统计数据
  • 自已如何做网站建设通网站会员共享密码
  • 做网站学习什么wordpress 文件夹