device-thread