对于如下代码的,它的打印结果是什么 NSThread *thread = [[NSThread alloc] initWithBlock:^{ NSLog(@"1"); }]; [thread start]; [self performSelector:@selector(testhaha) onT ...
分类:
编程语言 时间:
2021-02-24 13:19:34
阅读次数:
0
之前介绍了两种实现多线程的方式:继承Thread类和实现Runnable接口。但是这两种方式的线程都不能返回一个返回值,因为run()没有返回值。 但是有时候我们委派一个线程去执行一个任务,我们希望这个线程可以返回该任务的执行结果。 JDK8中推出了一种新的实现多线程的方式:实现Callable接口 ...
分类:
编程语言 时间:
2021-02-24 13:13:18
阅读次数:
0
Object中有两个涉及到了线程的方法: void wait():让当前线程进入等待状态,直到被唤醒;(会释放锁) void notify():唤醒当前正在等待的线程。(只会通知,不会释放锁) 因为Object是所有类的鼻祖,所以每一个对象都拥有wait()和notify()。 生产者和消费者模型 ...
分类:
其他好文 时间:
2021-02-24 13:12:42
阅读次数:
0
Exchanger的功能可以使2个线程之间传输数据,它比生产者消费者模式使用的wait/notify要更加方便,类Exchanger中的exchange()方法具有阻塞的特色,也就是此方法被调用后等待其他线程来取得数据,如果没有其他线程取得数据,则一直阻塞等待。Exchanger主要有两个方法 :e ...
分类:
编程语言 时间:
2021-02-22 12:34:21
阅读次数:
0
今天无意中看到了一个新工具,看起来挺有意思,先记录一下。unidbg GitHub地址:github unidbg 作用:在pc端模拟执行so文件中的函数 参考自: https://www.52pojie.cn/thread-1322512-1-1.html https://blog.csdn.ne ...
分类:
移动开发 时间:
2021-02-22 12:30:36
阅读次数:
0
首先了解一下cpu,随着主频(cpu内核工作时钟频率,表示在CPU内数字脉冲信号震荡的速度,等于外频(系统基本时间)乘倍频)的不断攀升,X86构架的硬件逐渐成为瓶颈,最高为4G,事实上目前3.6G主频的CPU已经接近顶峰。 多线程编程的目的,就是"最大限度地利用CPU资源",当某一线程的处理不需要占 ...
分类:
编程语言 时间:
2021-02-22 12:02:36
阅读次数:
0
第一次标记 在进行可达性分析之后发现没有与GC Roots相连接的引用链 筛选 第一次标记后,筛选此对象是否有比要执行finalize()方法 没有必要执行finalize()方法的对象 对象没有覆盖finalize()方法 finalize()方法已经被虚拟机调用过 有必要的对象进入F-Queue ...
分类:
其他好文 时间:
2021-02-22 11:46:59
阅读次数:
0
参考LittleCadet的博客多线程中Future与FutureTask的区别和联系 线程创建的两种方法,一种是实现Runnable接口,另一种是继承Thread。二者无法获取返回结果,于是有Callable接口,Future接口与FutureTask类的配和取得返回的结果。 FutureTask ...
分类:
编程语言 时间:
2021-02-20 12:20:07
阅读次数:
0
1、线程基本方法 package com.lyq.java.thread; /* 1、怎么获取当前线程对象? Thread t = Thread.currentThread(); 返回值t就是当前线程。 2、获取线程对象的名字 String name = 线程对象.getName(); 3、修改线程 ...
分类:
编程语言 时间:
2021-02-20 11:51:32
阅读次数:
0
前言 大年初二,大家新年快乐,我又开始码字了。写这篇文章,源于在家和基友交流的时候,基友问到了,我猛然发现还真是这么回事,多线程启动调用的都是start,那么为什么没人掉用run呢?于是打开我的idea,翻一波代码,带大家一探究竟。 继承thread类实现多线程 我们知道java有三种方式实现多线程 ...
分类:
编程语言 时间:
2021-02-16 12:35:56
阅读次数:
0