多线程开发join()的方法比较透彻和清晰的解释

问题描述

多线程开发join()的方法比较透彻和清晰的解释

我现在正在自学java中的多线程,但是呢,join()这个方法和sleep()方法,我不是很能理解,哪位大神可以解释一下,最好有个简单的例子,谢谢啦

解决方案

Thread.sleep(1000);
这意思是,如果线程运行到这儿了,线程在这个地方等1秒钟再往下走(精度不准)
sleep就是睡觉意思,这就好理解了

join()简单用法就是等一个线程结束
例如开启个线程做延时操作 Thread myThread1;
在main中调用它

myThread1.start();//启动了
myThread1.join(1000);
System.out.println("我等了它一秒钟后才输出");

给个通俗解释,
你去买东西,我在路上等你,和你先说,我等你一小时,你早来我早走,你不来,一小时后我自已走,就这意思
join有三种不同参数除了上面的

join();
//join(0);//同上意思是你不来,我不走了
myThread1.join(millis, nanos);//我等你一小时加一纳秒(精确)~

上面是通俗用法,还有更多线程处理等待优先级、interrupt、锁等更多内容
多测试自已体会一下,慢慢了解吧~

时间: 2024-10-30 04:06:28

多线程开发join()的方法比较透彻和清晰的解释的相关文章

iOS多线程开发——NSThread浅析_IOS

在iOS开发中,多线程的实现方式主要有三种,NSThread.NSOperation和GCD,我前面博客中对NSOperation和GCD有了较为详细的实现,为了学习的完整性,今天我们主要从代码层面来实现NSThread的使用.案例代码上传至 https://github.com/chenyufeng1991/NSThread. (1)初始化并启动一个线程 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated

iOS多线程开发之深入GCD

iOS多线程开发之深入GCD 一.前言         在以前的一些系列博客中,对iOS中线程的管理做了总结,其中涵盖了GCD的相关基础知识:http://my.oschina.net/u/2340880/blog/417746.那里面将GCD的线程管理能力,列队组能力,通过信号和消息控制程序流程的能力都有介绍,这里,我们继续深入GCD的功能,通过GCD来处理一些逻辑更加复杂的代码功能. 二.延时追加任务         当我们在程序中处理延时任务的时候,我们一般会通过两种方式,一种是通过定时器

C# WinForm多线程开发(一) Thread类库

原文地址:点击打开链接 [摘要]本文介绍C# WinForm多线程开发之Thread类库,并提供简单的示例代码供参考. Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程.什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源.而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针.程序计数器等),但代码区是共享的,即不

iOS多线程开发系列之(二)NSOperation

上一篇我们简单的对iOS多线程开发系列(一)三种多线程办法进行对比性能和操作的复杂度,并认真介绍了NSThread的使用. 我们借助上一次的例子完全可以采取NSOperation方法进行实现 NSOperation不具备封装操作的能力,必须使用它的子类: NSInvocationOperation NSBlockOperation 更简洁的Block实现方法,功能上与 NSInvocationOperation基本一致 自定义子类继承NSOperation,实现内部相应的方法 NSInvocat

PHP实现多线程的两个方法

 PHP+shell实现多线程的方法 先写个简单的php代码,这里为了让脚本执行时间更长,方便看效果,sleep一下,呵呵!先看下test.php的代码:ls PHP代码: <?php for ($i=0;$i<10;$i++) {   echo $i;   sleep(10); } ?> 在看下shell脚本的代码,非常简单 #!/bin/bash for i in 1 2 3 4 5 6 7 8 9 10 do   /usr/bin/php -q /var/www/html/test

Android实现多线程断点下载的方法

  本文实例讲述了Android实现多线程断点下载的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

求一个接口能使js直接调用到ios开发里面的方法

问题描述 求一个接口能使js直接调用到ios开发里面的方法 求一个接口能使js直接调用到ios开发里面的方法,就是js里面连接一个接口,能直接调用ios里面的函数,进行数据的交互 解决方案 参考iOS中JavaScript和OC交互

求教c#多线程操作串口的方法

问题描述 求教c#多线程操作串口的方法 需求是这样的. 1.有一个UI的主线程 .里面需要调用 串口通信.往里面发送消息. 2.另一方满我需要循环去取该串口有没有新的消息发送过来.然后将发送过来的消息传递给UI的主线程. c#新手.请教各位.该怎么实现? 解决方案 用serialport控件,用不着多线程.当数据到达,会触发dataarrived事件,不需要轮询. 解决方案二: C#多线程:Interlocked类操作C#基于事件驱动的多串口多线程串口通讯软件架构设计C#基于事件驱动的多串口多线

提高iOS开发效率的方法和工具(转)

转载作者@__weak_Point部分内容并作出自己认为更加高效率的方式 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时在使用AppCode等其他的IDE,在这里我主要介绍Xcode中提升开发效率的方法. 1.善用快捷键 快捷键是开发中必不可少的,当你善于使用快捷键的时候,十指在键盘上飞舞,那画面太美,我不敢想象. 常用快捷键操作 2.常用代码片段 开发中有一些常用的代码,可