Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

std.runtime

功能介绍

runtime 包的作用是与程序的运行时环境进行交互,提供了一系列函数和变量,用于控制、管理和监视程序的执行。

Cangjie 语言使用自动垃圾回收机制来管理内存,runtime 包提供了手动触发垃圾回收、设置垃圾回收的阈值、获取内存统计信息等功能,用于对垃圾回收进行调控和监测。

API 列表

函数

函数名功能
blackBox<T>(T)指示编译器传入的变量进入优化黑盒,无法进行死代码消除等优化。
dumpHeapData(Path)生成堆内存快照信息,写入指定路径的文件。
GC(Bool) (deprecated)执行 GC。
gc(Bool)执行 GC。
getAllocatedHeapSize获取仓颉堆已被使用的大小,单位为 byte。
getBlockingThreadCount获取阻塞的仓颉线程数。
getGCCount获取触发 GC 的次数。
getGCFreedSize获取触发 GC 后,成功回收的内存,单位为 byte。
getGCTime获取触发的 GC 总耗时,单位为 us。
getMaxHeapSize获取仓颉堆可以使用的最大值,单位为 byte。
getNativeThreadCount获取物理线程数。
getProcessorCount获取处理器数量。
getThreadCount获取仓颉当前的线程数量。
getUsedHeapSize在 Linux 平台下获取仓颉堆实际占用的物理内存大小, 单位为 byte。在 Windows 及 macOs 平台下获取仓颉进程实际占用的物理内存大小, 单位为 byte。
SetGCThreshold(UInt64) (deprecated)修改用户期望触发 GC 的内存阈值,当仓颉堆大小超过该值时,触发 GC,单位为 KB。
setGCThreshold(UInt64)修改用户期望触发 GC 的内存阈值,当仓颉堆大小超过该值时,触发 GC,单位为 KB。
startCPUProfiling启动 CPU profiler 跟踪。
stopCPUProfiling(Path)停止CPU profiler 跟踪,并将记录写入指定路径的文件。

结构体

结构体名功能
MemoryInfo (deprecated)提供获取一些堆内存统计数据的接口。
ProcessorInfo (deprecated)提供获取一些处理器信息的接口。
ThreadInfo (deprecated)提供获取一些仓颉线程统计数据的接口。