016_异步处理_Future

Future Apex:

用于在单独的线程中运行进程,Cpu空闲时。

@future注释来标识异步运行的方法。

当使用同步处理时,所有方法调用都从执行Apex代码的同一线程进行,并且在该过程完成之前不会发生额外的处理。你可以使用@future的方法来执行任何你希望在自己的线程中异步运行的操作。这提供了不阻止用户执行其他操作并为进程提供更高的调节器和执行限制的好处。

@future 外部Web服务的标注。如果从触发器或执行DML操作进行标注,则必须使用future 或queueable 方法。

注意:@future的方法必须是静态方法,并且只能返回一个void类型。 指定的参数必须是原始数据类型,原始数据类型的数组或原始数据类型的集合。 值得注意的是,Future的方法不能将标准或自定义对象作为参数。

模板如下:

global class SomeClass {
  @future
  public static void someFutureMethod(List<Id> recordIds) {
    List<Account> accounts = [Select Id, Name from Account Where Id IN :recordIds];
    // process account records to do awesome stuff
  }
}

  测试模板:

@isTest
private class Test_FutureSample {
    static testMethod void myUnitTest() {
        Test.startTest();
        List<ID> ids= new ID[]{'**1','**2'};
        SomeClass.someFutureMethod(ids);
        Test.stopTest();
    }
}

  

转载于:https://www.cnblogs.com/bandariFang/p/6434229.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值