小编Egg*_*lad的帖子

如何在 Swift 中设置实时线程?

我正在尝试在 Swift 中实现set_realtime()OSX 调度指南中的功能。

我被困住了thread_policy_set()。以下导致此编译器错误:

“不能专门化非通用定义”

我还尝试了其他一些事情,但遇到各种类型不匹配错误&policy。任何建议将不胜感激!谢谢!

func set_realtime(period: UInt32, computation: UInt32, constraint: UInt32) -> Bool {
    let TIME_CONSTRAINT_POLICY: UInt32 = 2
    let TIME_CONSTRAINT_POLICY_COUNT = UInt32(MemoryLayout<thread_time_constraint_policy_data_t>.size / MemoryLayout<integer_t>.size)
    let SUCCESS: Int32 = 0
    var policy: thread_time_constraint_policy
    var ret: Int32
    let thread: thread_port_t = pthread_mach_thread_np(pthread_self())

    policy.period = period
    policy.computation = computation
    policy.constraint = constraint
    policy.preemptible = 1

    ret = withUnsafeMutablePointer<integer_t>(to: &policy, { ptr -> Int32 in
        thread_policy_set(thread, TIME_CONSTRAINT_POLICY, ptr, TIME_CONSTRAINT_POLICY_COUNT)
    })

    if ret …
Run Code Online (Sandbox Code Playgroud)

multithreading real-time swift

6
推荐指数
1
解决办法
499
查看次数

标签 统计

multithreading ×1

real-time ×1

swift ×1